繁体   English   中英

如何在redis缓存中使用django-redis hset操作

[英]how to use django-redis hset operation in redis cache

我正在使用 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 官方文档中没有关于此的适当文档。

注意:我已经提到了这个(不是副本)

我是这样解决这个问题的:

  • pip install django-redis-cache(第 3 方 redis 客户端)

设置.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')

希望这会有所帮助。 文档: Django-redis-cache

简单的:

缓存 = 缓存 [settings.CACHE_FROM_SETTINGS]

存储在缓存中:

cache.hset('hash', 'key1', 'value1')
cache.hset('hash', 'key2', 'value2')

获取。 来自特定哈希的特定键:

cache.hget('hash', 'key1')

要获取该hash的所有键,请使用:

cache.hgetall('hash')

hgetall返回dict

{'key1': 'value1', 'key2': 'value2', ... }

嘿@Sanu 您的导入行错误请导入缓存而不是缓存。 我很惊讶你如何使用“缓存”运行。

from django.core.cache import cache
cache.set("Your key", "Your dict data") 
cache.get("Your key")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM