Redis Cluster安全的替换原有数据
来源:互联网 发布:name.com怎么转出域名 编辑:程序博客网 时间:2024/05/16 07:39
1.使用背景
redis集群,每个key带有一个副本,经常在更新数据时,程序出现卡顿。
2.原因分析
1.单机Redis:所有的数据都保存在一个机器上,使用rename覆盖原有值时不会影响。
2.集群Redis:所有的数据分布在多台机器上(设置了副本),使用rename覆盖原有值时,当原有值和新值不在一个机器上,涉及到不同服务器之间数据的拷贝,此时访问数据可能会卡住。
3.解决办法
原先处理:
如上图所示,处理流程为新建一个key2,数据为value2,我们删除key1和value1,然后重命名key2为key1,数据为value2。
现在处理:
思路:我们通过一个中间key2来实现原有数据的更新。
更新数据:我们新建一个key2,新数据为value2,我们把key1的value值设为key2,value1设置一个过期时间。
查询数据:我们通过key1得到值key2,通过key2获取真实的数据value2。
大家可以关注我的公众号:不知风在何处,相互沟通,共同进步。
阅读全文
0 0
- Redis Cluster安全的替换原有数据
- Redis的数据安全
- redis-cluster的上万数据测试
- 数据存储---REDIS cluster
- redis-cluster的搭建
- Redis Cluster的安装
- Redis-Cluster的安装
- redis cluster的安装
- 用FragmentActivity +FragmentTabHost 替换原有的tabhost
- 使用lua脚本和jedis实现redis的hmsetnx命令,操作hash表时不覆盖原有数据
- redis的数据安全与性能保障
- redis cluster 的手工配置
- redis cluster 环境的搭建
- redis cluster 下的命令
- Redis cluster的配置过程
- 在android中安装输入法替换原有的输入法
- 2012年的macbook pro 用ssd 替换原有硬盘
- redis cluster
- aio java
- 第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛(部分题解)
- SecureCRT的激活步骤
- HashMap
- 大学毕业5年后拉开大家差距的原因
- Redis Cluster安全的替换原有数据
- docker的容器调试
- Spring(06)——单例注入多例之注入ApplicationContext
- WebService学习总结——使用JDK开发WebService
- 关于hashCode和equals的处理
- MarkDown基本语法简介
- Spring+Mybatis配置
- php中的魔术常量和魔术方法(一)
- response对象