1

如何使用 django-redis 访问其余的较低名称空间?

cache.keys("*")

只给我命名空间 1:1:TEST 这是我通过 django-redis 输入的密钥。请参阅下图,这是我能够访问的唯一名称空间。我如何访问这些资产的其余部分?

在此处输入图像描述

谢谢!

凯西

4

1 回答 1

2

您可以执行以下操作来直接访问 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.

注意,redis 客户端对特定密钥的类型更加挑剔。因此,您必须确保您正在使用sredis 集的h操作、redis 哈希的操作等。换句话说,您必须知道您使用 redis 客户端访问的对象的类型,而 django 缓存客户端仅要求您使用setget使用序列化转换类型。

于 2017-01-23T03:35:29.783 回答