我已经在 Django 中将 Redis 设置为缓存,设置如下:
CACHES = {
'default': {
'BACKEND': 'redis_cache.RedisCache',
'LOCATION': 'localhost:6379',
'OPTIONS': {
'PICKLE_VERSION': 1,
},
},
}
我正在试验它(Redis 的新手,想更好地理解它)。所以,我进入我的 Django shell,然后:
from django.core.cache import cache
cache.set('asdf', 2)
cache.get('asdf') # Returns 2
然后我进入 redis-cli
,我希望在其中看到值,但这些都没有显示任何值:
KEYS *
GET *
GET 'asdf'
这是怎么回事?
最佳答案
Redis 默认有 16 个数据库。正如@Bernhard 在他的评论中所说,您可以看到每个键有多少个:
INFO KEYSPACE
在我的案例中返回了:
# Keyspace
db0:keys=1,expires=0,avg_ttl=0
db1:keys=2,expires=2,avg_ttl=504748260
并且您可以SELECT
要检查的数据库:
SELECT 1
在这一点上,果然,我可以看到我期望的键:
KEYS *
1) ":1:asdf"
2) ":1:django.contrib.sessions.cacheg2l0bo9z88z8bn4q2ep0andjgo8zrzzk"
关于django - 缓存值未出现在 Redis 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34192218/