python连redis测试

本文介绍如何使用Python和Redis实现乐观锁,通过一个具体的脚本示例,展示如何在并发环境下安全地更新Redis中的数据。该脚本首先查询Redis中的key值,然后在一个循环中尝试更新这个值,如果在更新过程中发现数据已被其他操作修改,则会重新开始整个过程,确保数据的一致性和完整性。




python 版本 3.x
执行环境需要安装redis模块: pip install redis

 

 

执行脚本前,有redis-cli中查询key值:

 

 执行脚本:

 


****************************** redis的乐观锁 脚本如下 *****************************
import redis
def key_for(user_id):
return "account_{}".format(user_id)

def double_account(client, user_id):
key = key_for(user_id)
while True:
client.watch(key)
value = int(client.get(key))
value *=2
pipe = client.pipeline(transaction=True)
pipe.multi()
pipe.set(key,value)
try:
pipe.execute()
break
except redis.WatchError:
continue
return int(client.get(key))

if __name__ == "__main__":
client = redis.StrictRedis(host="192.168.1.100", port = 7000)
user_id = "abc"
client.setnx(key_for(user_id),5)
print (double_account(client,user_id))

转载于:https://www.cnblogs.com/linlianhuan/p/9794395.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值