共享value利用Redis实现多个Key共享Value(redis多个key)
一、共享value背景介绍
在企业运维工作中,不同机器与客户端之间会经常需要数据交互,比如用户登录态、分布式session、分布式配置中心等信息,经常需要在服务端存储一些数据,但这些数据的值是在多个key之间共享的。这就引出了我们今天的共享value的概念,它是指通过设定一个共享value,让多个Key共享一个value的场景,总之,共享value经常出现在分布式场景中,它可以帮助我们解决分布式多个服务、多个客户端之间共享数据的问题。
二、什么时候需要用到共享value
1.当应用具有需要在几个服务中共享信息的场景时;
2.用在分布式session中维护用户登录态的场景;
3.当客户端需要与服务端交互要同步用户信息/状态时;
4.RPC服务分布式断路器中熔断器状态的存储,以及用户自定义参数的存储;
等其他多种分布式应用场景,需要多个服务之间共享数据共享value的时候,都会用到共享value。
三、Redis实现多个Key共享Value
1.首先,将要共享的value赋值给一个key,设定过期时间;
2.在多个Key中设置一个占位符,如”@{shareName}”;
3.设置一个“共享value”,如d:
“`python
d = Redis.get(‘shared_value’)
“`
4.将占位符替换为d的值;
“`python
Redis.set(‘key1′,’@'{shareName}’,value=d)
“`
5.将多个key绑定占位符与d的值;
“`python
Redis.set(‘key2′,’@'{shareName}’,value=d)
“`
最终,在Redis中成功将多个key共享一个value,从而实现多个服务、多个客户端之间的共享数据。
四、共享value的优缺点
优点:
1.使得服务端、客户端进行多个服务、客户端之间的数据共享更加方便快捷;
2.减少相关逻辑和操作,提高应用效率;
3.支持云和分布式服务;
4.支持并发处理,使用户更为方便。
缺点:
1.安全方面的风险,存在被第三方者不法利用的风险;
2.对于一些敏感信息,未经加密容易被盗取;
3.缓存雪崩等问题,缓存雪崩是指缓存的大量数据同时失效,这会将系统压力瞬间提高,从而给系统带来压力。
以上就是关于共享value利用Redis实现多个Key共享Value的介绍,它可以加速服务端、客户端之间数据共享,但是也要注意安全风险,以及缓存雪崩问题。