使用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用于其他一些缓存目的。
如果问题或描述听起来有点混乱,请告诉我,我可以更新。