在redis中存储和获取django模型对象

brs*_*gic 5 python django redis

我设置了 Django & Redis 项目并尝试在 Redis 中存储 Django 模型对象。如果我django.core.cache如下使用,card2 被正确设置为 django 对象。但是,如果我使用 django_redis 提供的原始 redis 连接,它会获取 django 模型对象的字符串表示。

我将两个键设置如下。如何使用原始 redis 连接来获取卡对象本身而不是其字符串 repr?我需要它,因为我想使用mgetzrange比如 redis.py 的方法。

from django.core.cache import cache
from django_redis import get_redis_connection

con = get_redis_connection("default")
card = Card.objects.all()[0]

key = "card_" + str(card.id)

con.delete(key)
cache.delete(key)

con.set(key, card)
cache.set(key, card)

card1 = con.get(key)
card2 = cache.get(key)
Run Code Online (Sandbox Code Playgroud)

dan*_*gpm 3

您必须手动将响应从 redis 转换为 python 对象。

提示:使用 pickle,以下是示例:1 , 2