redis 支持事务吗?【面试】

redis 支持事务吗?

1.非关系型数据库,本身不支持事务

2.redis 中的管道可以实现事务的支持,(要么都成功,要么都失败)

  • 实现的原理:多条命令放到一个管道中,一次性执行。

3.具体代码:

4.如果是集群环境,不支持管道。(因为没办法管理,1份数据分成3份存到A,B,C,是锁不住的)

import redis
pool = redis.ConnectionPool()
r = redis.Redis(connection_pool=pool)
pipe = r.pipeline(transaction=True) # 开启事务
​
pipe.multi()    # 管道开启,等待放入多条命令
pipe.set('name','egon')
pipe.set('role','admin')
​
# 到此,命令都没有执行
pipe.execute()  # 执行管道中的所有命令。
posted @ 2023-08-29 14:18  o蹲蹲o  阅读(102)  评论(0编辑  收藏  举报