redis的原子性

什么是原子性操作

在多进程(线程)访问共享资源时,能够确保所有其他的进程(线程)都不在同一时间内访问相同的资源,(要么完全执行,要么完全不执行)

简单描述

有个变量X=0,要进行+1操作,步骤如下:

  • 读取x;
  • 取得+1的计算结果
  • 写入x

现在有人进行另一个操作 +2;步骤如下;

  • 读取x;
  • 取得+2计算结果
  • 写入x

如果操作不是原子性的,指令就会错乱,得到的结果可能是1,2,3情况均可能出现;
如果操作是原子性的,就可以保证在进行加1操作的时候其他操作无法插入进来,在完成操作后他才能开始进行他的操作,从而保证数据是可靠的。

redis的原子性

Redis所有单个命令的执行都是原子性的,这与它的单线程机制有关;
Redis命令的原子性使得我们不用考虑并发问题,可以方便的利用原子性自增操作 实现简单计数器功能;

posted @ 2017-07-14 11:33  Young_G  阅读(2947)  评论(0编辑  收藏  举报