社区
Informix
帖子详情
REDIS的访问时线程安全的吗?
shuizhuhuoyi
2016-06-30 10:04:05
请假大家一个问题,我有一个场景:在REDIS里面设置一个计数器,客户端访问一次,这个计数器就加一。请问客户端如果并发很大的话,REDIS可以保证结果的正确行吗?类似于数据库里的事务,会严格保证更新数据的顺序吗?
...全文
6056
2
打赏
收藏
REDIS的访问时线程安全的吗?
请假大家一个问题,我有一个场景:在REDIS里面设置一个计数器,客户端访问一次,这个计数器就加一。请问客户端如果并发很大的话,REDIS可以保证结果的正确行吗?类似于数据库里的事务,会严格保证更新数据的顺序吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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加个版本号比如时间戳或者普通的数值,每次更新数据时候先比对版本号
redis
面试题:
redis
存在
线程安全
问题吗?
假设两个
redis
client同
时
去获取
redis
server上的key值,同
时
去进行修改和写入,因为多线程环境下的原子性无法被保障,以及多进程的情况下,共享资源
访问
的一个竞争问题,使得数据的安全性无法得到保障。对于指令的执行过程仍然是采用主线程来处理,所以说它不存在多个线程同
时
去执行操作指令的情况。从
redis
服务端层面,
redis
server本身是
线程安全
的key-value数据库,在
redis
server端执行指令的
时
候不需要任何的同步机制,它不会存在任何的
线程安全
的问题。
【Java面试】
Redis
存在
线程安全
问题吗?为什么?
一个工作了5年的粉丝私信我。 他说自己准备了半年
时
间,想如蚂蚁金服,结果第一面就挂了,非常难过。 问题是: “
Redis
存在
线程安全
问题吗?” 关于这个问题,看看普通人和高手的回答。 普通人:# 嗯。。。。。。。。。。。。 高手:# 好的,关于这个问题,我从两个方面来回答。 第一个,从
Redis
服务端层面。
Redis
Server本身是一个
线程安全
的K-V数据库,也就是说在
Redis
Server上执行的指令,不需要任何同步机制,不会存在
线程安全
问题。 虽然
Redis
6.0里面.
Redis
中还有
线程安全
问题?这些解决办法你都知道吗?
详细解释为什么单线程的
Redis
也会出现
线程安全
问题,并给出一些方法应对
线程安全
问题。
Redis
存在
线程安全
问题吗?让我们来谈谈!
这篇文章你值得一阅!讲技术我觉得应该让外行也能看明白,而不是一堆专业术语堆砌,像在读天书一般,到最后感觉云里雾里。
Redis
存在
线程安全
的问题吗
Redis
是一个单线程服务器,这意味着
Redis
每次只能处理一个客户端请求,即使在高并发的情况下也不会创建新的线程来处理请求。但是,
Redis
中的哈希表并不是
线程安全
的,因为在多个线程同
时
对哈希表进行读写操作
时
,可能会出现竞态条件。
线程安全
是指多个线程并发执行
时
,不会出现竞态条件(race condition),也就是说代码执行的结果是可预期的,不会出现异常情况。从单线程的角度来看,
Redis
的代码是
线程安全
的,因为每次只有一个线程在执行代码。1
Redis
中的哈希表并不是
线程安全
的。
Informix
1,194
社区成员
2,871
社区内容
发帖
与我相关
我的任务
Informix
其他数据库开发 Informix
复制链接
扫一扫
分享
社区描述
其他数据库开发 Informix
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章