这里的原子性分两点谈:1 隔离,批量操作不可分割,不会并发修改到我的数据 2 回滚,某命令失败回滚到初始状态
1 redis pipeline:客户端实现,服务端无感,一次性发了多个命令
2 redis 事务:multi/exec,没什么原子性,当成批量操作即可,某命令执行失败后面命令依然执行,先入列到exec才执行,结合watch机制可保证被watch的key从watch到exec期间不变事务才执行(隔离),无法回滚
3 lua脚本:执行时不会有其他脚本或redis命令同时执行(隔离),失败后异常后面命令不执行,无法回滚
redis-其它
最新推荐文章于 2024-08-26 23:15:43 发布