Django连接Redis

3 投票
1 回答
4574 浏览
提问于 2025-05-01 03:25

要把Django和Redis连接起来,我需要为每个视图打开一个连接:

import redis
cacheDB = redis.StrictRedis()
cacheDB.sadd("new_post", post.id)

有没有办法在某个地方创建一个连接,然后在每个视图中导入这个连接呢?

暂无标签

1 个回答

5

你可以使用 django-redis,这个工具可以让你在Django的缓存系统中使用Redis作为后端。它还支持 连接池,这样可以更高效地管理连接。

基本用法:

# settings.py
CACHES = {
    'default': {
        'BACKEND': 'redis_cache.cache.RedisCache',
        'LOCATION': '127.0.0.1:6379:1',
    }
}

然后你可以在你的视图代码中使用它:

from django.core.cache import cache
cache.set('foo', 'bar')

对于 sadd,你可以直接使用原生的Redis客户端:

>>> from django_redis import get_redis_connection
>>> con = get_redis_connection('default')
>>> con
<redis.client.Redis object at 0x2dc4510>

撰写回答