首页 > 其他 > 详细

Redis 原子操作

时间:2019-07-02 12:17:31      阅读:283      评论:0      收藏:0      [点我收藏+]

最近开发中遇到一个问题:需要对Hash中的字段进行修改,修改结果为,将valueB拼接到valueA上,需要两步操作:

  1. 取出Hash中的valueA

  2.将valueB拼接到valueA后面,重新加入Hash,覆盖valueA

虽然redis是单进程单线程,但是写入点增多时,例如多线程,多机器写入时,就会使得脏数据出现。

由此需要本章介绍的redis事务

 

MULTI

标记一个事务块的开始。

事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。

 

可用版本:

>= 1.2.0

 

时间复杂度:

O(1)。

 

返回值:

总是返回 OK 。

 

redis> MULTI            # 标记事务开始

OK

redis> INCR user_id     # 多条命令按顺序入队

QUEUED

redis> INCR user_id

QUEUED

redis> INCR user_id

QUEUED

redis> PING

QUEUED

redis> EXEC             # 执行

1) (integer) 1

2) (integer) 2

3) (integer) 3

4) PONG

Redis 原子操作

原文:https://www.cnblogs.com/wuwangchuxin0924/p/11119742.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!