suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Redis的原子性?什么是原子操作?

  1. 什么是Redis的原子性?

  2. 什么叫做原子操作?

  3. 在 Redis 中什么样的操作算是原子操作?

天蓬老师天蓬老师2769 Tage vor943

Antworte allen(3)Ich werde antworten

  • PHP中文网

    PHP中文网2017-04-25 09:06:06

    1. Redis的原子性有两点:

      • 单个操作是原子性的

      • 多个操作也支持事务,即原子性,通过MULTIEXEC指令包起来

    2. 原子操作的意思就是要么成功执行要么失败完全不执行。用现实中的转账比喻最形象,你转账要么成功,要么失败钱不动,不存在你钱转出去了,但收款方没收到这种成功一半失败一半的情况

    3. 第1点已经解答了

    Antwort
    0
  • 高洛峰

    高洛峰2017-04-25 09:06:06

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

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

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

    redis 实现事务的原理

    1. 批量操作在发送 EXEC 命令前被放入队列缓存
    2. 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令都不会被执行
    3. 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-04-25 09:06:06

    我感觉原子性说的是同一时间只能执行一个操作,(一个事务是一个不可分割的最小工作单位,要么都成功要么都失败)说的应该是一致性吧。有点搞不懂这里了

    Antwort
    0
  • StornierenAntwort