社区
高性能WEB开发
帖子详情
redis如何实现原子性-LPOPRPUSH
学无止境-逆流而上
2016-09-20 10:02:48
有个高并发场景:2台机,在redis处共享一个list,来做先进先出队列,实现数据平均分配。但是Java redis并没有lpop+rpush结合在一起的原子操作,我如果将lpop+rpush加锁的话,又满足不了高并发;不加的话,会导致数据脏,丢失等问题。
比如redis维护队列:1,2,3,4
我希望高并发原子实现:(不加锁)
1出来的同时,排到队尾2,3,4,1
大家有啥意见?
...全文
5937
2
打赏
收藏
redis如何实现原子性-LPOPRPUSH
有个高并发场景:2台机,在redis处共享一个list,来做先进先出队列,实现数据平均分配。但是Java redis并没有lpop+rpush结合在一起的原子操作,我如果将lpop+rpush加锁的话,又满足不了高并发;不加的话,会导致数据脏,丢失等问题。 比如redis维护队列:1,2,3,4 我希望高并发原子实现:(不加锁) 1出来的同时,排到队尾2,3,4,1 大家有啥意见?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ps45221
2016-09-21
打赏
举报
回复
你既不想加锁,又想要原子操作。。。 用java代码层面的话,效率会慢点。 你可以尝试把这两个操作用Lua脚本写,redis是可以原子性执行Lua脚本的 或者,你自己在redis维护一个事务锁
学无止境-逆流而上
2016-09-20
打赏
举报
回复
目前打算扭转一下思维,用rpoplpush(redis有这个原子操作)来做逆向,然后插入元素时lpush,弹出元素时rpop。原来redis不提供 lpoprpush是OK的。
国央企创新负责人如何通过产业大脑
实现
产业链协同与能力对接?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
源码:数字电源STM32G474-PFC-DCtoAC逆变器程序源码.rar
尖叫的变压器,数字电源
Creo 机床数据库完整程序文件直下入口.rar
Creo 机床数据库完整程序文件直下入口.rar
易语言源码易语言服务器组手机控制原码
易语言源码易语言服务器组手机控制原码
高校技术转移办公室人员如何借助产业大脑推动科技成果落地?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
高性能WEB开发
25,980
社区成员
4,366
社区内容
发帖
与我相关
我的任务
高性能WEB开发
高性能WEB开发
复制链接
扫一扫
分享
社区描述
高性能WEB开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章