sách gpt4 ăn đã đi

python - Redis 锁定一个 KEY

In lại 作者:IT王子 更新时间:2023-10-29 06:04:25 25 4
mua khóa gpt4 giày nike

我想在更新时锁定一个特定的键。尝试了下面的示例代码。

import redis

thời gian nhập khẩu

conn = redis.StrictRedis(host='localhost', port=6379, db=0)

print ("previous Connected Key value is :" + conn.get('connected'))

print ("previous Operational Key value is :" + conn.get('operational'))

have_lock = False
my_lock = redis.Redis().lock("my_key")

thử:

have_lock = my_lock.acquire(blocking=False)
#have_lock = my_lock.acquire(timeout=5)
if have_lock:
print("Got lock. Doing some stuff...")
time.sleep(15)
conn.set('connected', 'false')
conn.set('operational', 'false')
khác:
print("Did not acquire lock.")

Cuối cùng:

if have_lock:
my_lock.release()
print ("After Connected Key value is :" + conn.get('connected'))

print ('After Operational Key value is :' + conn.get('operational'))

上面的代码正在获取锁,但我仍然可以从 redis-cli 或其他一些应用程序访问 KEY。

如何锁定KEY?

câu trả lời hay nhất

根据设计,Redis 键在更新期间被锁定,您不需要锁定它们。事实上,Redis uses a single thread to process commands ,所以每个操作都是原子的。其他客户端在给定命令的处理过程中被阻塞,这就是为什么您不能执行长时间执行的查询(例如,您自己编写并使用 eval 执行的 Lua 脚本;或 key scan)。

关于python - Redis 锁定一个 KEY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39738744/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress