首页 >数据库 >Redis >redis是否支持原子操作

redis是否支持原子操作

anonymity
anonymity原创
2019-06-04 16:30:343787浏览

理论知识:

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

原子性(atomicity):一个事务是一个不可分割的最小工作单位,要么都成功要么都失败。

redis是否支持原子操作

原子操作是指你的一个业务逻辑必须是不可拆分的。

比如你给别人转钱,你的账号扣钱,别人的账号增加钱,这个业务逻辑就是原子性的,这个操作就是原子操作,要么都成功要么都失败。

Redis所有单个命令的执行都是原子性的。

redis 实现事务的原理

1. 批量操作在发送 EXEC 命令前被放入队列缓存

2. 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令都不会被执行

3. 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中

以上是redis是否支持原子操作的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn