REDIS的访问时线程安全的吗?

shuizhuhuoyi 2016-06-30 10:04:05
请假大家一个问题,我有一个场景:在REDIS里面设置一个计数器,客户端访问一次,这个计数器就加一。请问客户端如果并发很大的话,REDIS可以保证结果的正确行吗?类似于数据库里的事务,会严格保证更新数据的顺序吗?
...全文
6056 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lukezhang-123 2019-09-04
  • 打赏
  • 举报
回复
1. redis是单线程运行,所以多个redis命令是一个一个执行,所以是线程安全的2. 但是分开的两个redis命令,对于【应用】不是线程安全的,因为这两个redis命令之间会有其他命令,就像java线程不安全的i++操作,这个两个redis命令没有事务管理 3. 可以用RPOPLPUSH或者INCR , 或者lua脚本,实现多个redis操作合为一个命令,这样就对【应用】线程安全了
xiaoshidezidan 2016-06-30
  • 打赏
  • 举报
回复
建议可以给存放的value加个版本号比如时间戳或者普通的数值,每次更新数据时候先比对版本号

1,194

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧