通常,您可能会在浏览器上访问社交媒体、购物,查看新闻等等。您可能会收到您参加过或未参加过的各种活动的大量通知,并且您可能希望自己访问的购物网站根据您的历史订单数据来优化搜索结果。也许您选择的媒体平台会向您展示您先前表现出兴趣的主题,以鼓励您继续消费。所有这些现象都表明平台在会话中保存的数据不止您的用户名或者基本信息。
当任何服务器的访问流量增加时,通常都需要通过会话存储的方式来保存用户数据。为了能够存储和处理更多更复杂的会话数据,通常系统中都会引入微服务的方式来解决这个问题。通过将会话存储与服务器的处理逻辑分离,单独的会话存储微服务使业务能处理更复杂的场景和数据,而不会影响其他服务的速度或性能。
例如,通过微服务可以使社交媒体平台向您发送群组通知消息,或者使电子商务网站可以根据您之前的购买记录为您推荐产品。如果您的公司是为了处理更大量和复杂的数据,在微服务中引入 Redis 是理想的选择。通过 Redis 的数据同步和存储机制,允许公司对业务服务器进行横向扩容,并使微服务和服务器彼此通信成为可能。
将 Redis 与其他流行的数据库进行比较时,您会发现 Redis 具有真正的高可用性,并且拥有延、高并发等良好特性。更重要的是,由于 Redis 的这些特性,会话存储微服务能够提供更好的用户体验,例如:内容显示更快,监视信息收集更灵活以及尽量少占用资源来发送群组的通知
对于新闻类网站和电子商务平台而言,向用户显示新的个性化推荐内容至关重要。这操作起来可能很复杂,因为这中间涉及存储用户曾经与访问过的所有内容来用于推荐。但是,Redis 中可以通过布隆过滤器来解决这个问题,使用布隆过滤器可以高效地判断某个用户是否访问过某个内容的文章或商品,并且可以节约大量的存储空间。
同时,用户活动访问信息采集是公司记录客户信息和分析数据的重要数据来源,可确保客户在网站上的体验得到专业的个性化推荐。Redis 可以帮助您的公司更好地收集用户的行为数据,然后使用该数据更进行用户数据的个性化推荐。这是一个复杂且困难的过程,尤其是考虑到微服务的局限性,但是 Redis 通过 HyperLogLog 来进行相关数据的采集和记录是非常高效的。并将这些数据点与特定的情景相结合,例如用户与特定页面互动的次数或用户是否是首次访问该网站。而且由于 Redis 使用 HyperLogLog,数据是不可逆存储,第三方几乎不可能提取用户信息,这可以帮助确保用户的隐私。
本文转载自 中间件小哥 公众号。
原文链接:https://mp.weixin.qq.com/s/qNc3RHeWHzlDKaL8iIrv_A
评论