哪一个使用连接池? django.core.cache vs django_redis.get_redis_connection(使用django-redis时)

时间:2017-01-12 07:36:31

标签: python django caching redis django-redis

使用django-redis(https://niwinz.github.io/django-redis/latest/)lib时,有两种方法可以获得redis连接

方式-1

from django.core.cache import caches
# get redis cache from settings
rcache = caches['redis']

方式-2

from django_redis import get_redis_connection
rcache = get_redis_connection("redis")

我的django设置看起来像这样

CACHES = {
        "default": {
            "BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
            "LOCATION": MEMCACHED_URL,
            "OPTIONS": {
                'MAX_ENTRIES': 2000
            }
        },
        "redis": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": REDIS_URL,
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient"
            }
        }
    }

我尝试检查内部并且看起来像get_redis_connection使用连接池,但它返回的对象是strictredis客户端而不是默认客户端 - 因此无法从一个跳转到另一个。

话虽如此,如果您在使用 django-redis 库时想要使用连接池,有人可以确认使用哪个

注意:我目前使用memcache作为默认的django缓存后端,redis用于其他一些缓存目的。

如果问题或描述听起来有点混乱,请告诉我,我可以更新。

0 个答案:

没有答案