django-redis ( https://niwinz.github.io/django-redis/latest/ ) libを使用する場合、redis 接続を取得する方法は 2 つあります。
方法-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 を使用しています。
質問や説明がわかりにくい場合はお知らせください。更新できます。