当前位置:  开发笔记 > 编程语言 > 正文

在Redis-py中使用锁

如何解决《在Redis-py中使用锁》经验,为你挑选了0个好方法。

我正在尝试在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

如果这是一个非常愚蠢的问题,我深表歉意,但是我不明白我是怎么得到这个错误的,所设置的数据实际上是相同的

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有