如何使用django-redis访问其余的名字空间?
cache.keys("*")
只给我名字空间1:1:TEST这是我通过django-redis输入的密钥。请参阅下面的图片,该图片是我能够访问的唯一名称空间。如何访问其余资产?
谢谢!
凯西
答案 0 :(得分:1)
您可以执行以下操作直接访问redis客户端以访问这些值:
from django.core.cache import caches
default_cache = caches['default']
redis = default_cache.get_master_client()
# now you can use any of the redis client operations on redis
redis.hgetall('BATCH-RP-FAIL')
# or redis.smembers, etc.
n.b.,redis客户端对特定密钥的类型更加挑剔。因此,您必须确保使用redis集的s
运算,redis哈希值的h
运算等。换句话说,您必须知道要访问的对象的类型使用redis客户端,而django缓存客户端只要求您使用set
和get
并使用序列化转换类型。