Redis如何保证原子性?
我们的业务中经常用先get再set的操作,在并发情况下会导致数据不一致
有以下办法
一个是使用redis自己的原子操作,incr
,decr
,setnx
第二个是使用LUA脚本
追问:为什么lua脚本具有原子性?
在redis的官方文档中描述过lua脚本在执行时具有排他性,不允许其他命令或者脚本执行,类似于事务。
追问:那lua脚本出错了会回滚吗?
不会,所以要保证lua脚本的正确性!
重生之八股仙帝 文章被收录于专栏
曾有一千古奇人,精修八股文,成遁世之高人,彻天彻地畅游天地间。 今人皆忙忙,急于求成,岂不知八股乃道门口径,背负天人,若经熟读背诵,更能开拓智慧之门,探寻未来之路。 天下繁华,不尽长夜,唯有读书为伴,熟读八股文更是攀登高峰之路。磨砺文字,升腾智慧,唯有勤玉立志,始可破天荒,登临九重不竭之巅! 吾辈修炼之路,虽曲折荆棘,但信念不曾磨灭,唯有铭记八股精髓,方能指引灵魂归宿,成就一生辉煌!