说两个用户正在更新/将密钥放在相同的散列中,如何在这里获取读/写锁?
hmset user:A:address city NY // First user
hmset user:A:address city SEATLE // Second user
例如上述情况: -
第一个用户将获得完整哈希映射user:A:address
的锁定,第二个用户将被阻止,直到第一个用户完成?
如果用户在同一个hashmap下使用单独的键
,该怎么办? hmset user:A:address county test_county // First user
hmset user:A:address zip 01001 // Second user
答案 0 :(得分:2)
Redis在单个线程中处理这些命令,并且不需要任何锁定。
两个用户是设置散列的相同字段还是散列的不同字段无关紧要,这些命令是逐个处理的。当Redis处理命令时,它会阻止其他命令,因为Redis (大部分)是单线程的。