我正在使用 Django 3.0.4 和 Python 3.6.9。我需要使用 hset 操作在 Redis 缓存中设置一些值。
- 我的尝试:
from django.core.cache import caches
cache.set(), cache.get() // these operation are working
但是我不能使用这个库来执行hset和hget操作。在Django官方文档中没有关于此的适当文档。
注意:我已经参考了这个(不是复制)
我正在使用 Django 3.0.4 和 Python 3.6.9。我需要使用 hset 操作在 Redis 缓存中设置一些值。
from django.core.cache import caches
cache.set(), cache.get() // these operation are working
但是我不能使用这个库来执行hset和hget操作。在Django官方文档中没有关于此的适当文档。
注意:我已经参考了这个(不是复制)
这是我解决问题的方法:
Settings.py:
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "127.0.0.1:6379/1",
"OPTIONS": {"CLIENT_CLASS": "django_redis.client.DefaultClient",},
}
}
在 views.py 文件中:
from django.core.cache import caches
redis_cache=caches['default']
redis_client=redis_cache.client.get_client()
redis_client.hset('myhash','key1', 'value1')
from django.core.cache import caches
cache = caches[settings.CACHE_FROM_SETTINGS]
存储到缓存中:
cache.hset('hash', 'key1', 'value1')
cache.hset('hash', 'key2', 'value2')
cache.hget('hash', 'key1')
要获取该哈希表
的所有键,请使用:
cache.hgetall('hash')
hgetall
返回dict
:
{'key1': 'value1', 'key2': 'value2', ... }
并删除哈希集合:
cache.hdel(hash, 'key')
嘿@Sanu,你的导入行有误,请导入cache而不是caches。我很惊讶你怎么能用“caches”运行。
from django.core.cache import cache
cache.set("Your key", "Your dict data")
cache.get("Your key")