我正在尝试在Django项目中的redis值上创建一个锁,但是遇到了麻烦。非阻塞代码可以正常工作,即:
r = redis.StrictRedis(host='localhost', port=6379) data_dict = {'key': 'value'} r.hmset('hash', data_dict)
但是,当尝试使用锁来防止其他线程通过代码将其写入时:
r = redis.StrictRedis(host='localhost', port=6379) data_dict = {'key': 'value'} lock = r.lock('hash') with lock.acquire() as l: r.hmset('hash', data_dict)
抛出:redis.exceptions.ResponseError: WRONGTYPE Operation against a key holding the wrong kind of value
如果这是一个非常愚蠢的问题,我深表歉意,但是我不明白我是怎么得到这个错误的,所设置的数据实际上是相同的