Django 连接到 Redis

问题描述 投票:0回答:1

要将 Django 连接到 Redis,我必须为每个视图打开连接:

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

有没有办法在某处创建单个连接并将其导入到每个视图中?

python django redis
1个回答
7
投票

您可以使用 django-redis,它允许使用 Redis 作为 Django 缓存框架的后端。它支持连接池

基本用法:

# settings.py
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}

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

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>
© www.soinside.com 2019 - 2024. All rights reserved.