我有两个redis-py客户端同时访问REDIS。两个客户端都运行无限循环。两个客户端也在查看相同的哈希值。问题是,当我启动连续的hgetall循环时,我似乎无法再设置该值。
第一个客户端正在进行连续的hgetall
while True:
query = r.hgetall('myHash')
for result in query:
#do something with value1, value2
第二个客户端正在进行连续的hset。如果我删除第二个客户端并只是手动设置新值,我仍然无法设置新值。
r.hset('myHash', 'value1', '23')
r.hset('myHash', 'value2', '17')
这是因为REDIS是单线程的,而hgetall的客户端永远不会释放线程以允许hset吗?