Mat*_*lla 14 django caching redis
我已经安装了django-redis-cache和redis-py.我已经关注了Django的缓存文档.据我所知,以下设置是我所需要的.但是我如何判断它是否正常工作?
CACHES = {
'default': {
'BACKEND': 'redis_cache.RedisCache',
'LOCATION': '<host>:<port>',
'OPTIONS': {
'DB': mydb,
'PASSWORD': 'mydbspasswd',
'PARSER_CLASS': 'redis.connection.HiredisParser'
},
},
}
Run Code Online (Sandbox Code Playgroud)
...
MIDDLEWARE_CLASSES = (
'django.middleware.cache.UpdateCacheMiddleware',
...[the rest of my middleware]...
'django.middleware.cache.FetchFromCacheMiddleware',
)
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_SECONDS = (60 * 60)
CACHE_MIDDLEWARE_KEY_PREFIX = ''
Run Code Online (Sandbox Code Playgroud)
Max*_*Max 47
还没有使用Django,但我的默认方法是检查某些组件是否在开发过程中实际写入redis:
首先,我刷新存储在redis中的所有密钥以删除旧的缓存条目(从不在生产中执行此操作,因为这会从redis中删除所有数据):
> redis-cli FLUSHALL
Run Code Online (Sandbox Code Playgroud)
然后在我的应用程序中激活缓存,看看redis的作用:
> redis-cli MONITOR
Run Code Online (Sandbox Code Playgroud)
您应该进入一个交互式会话,在其中您可以看到发送到redis的每个命令.
重新加载页面,在终端上,您应该看到一些存储缓存数据的SET*操作.
再次重新加载,如果缓存有效,您应该看到一些GET*操作检索缓存的数据.
注意:使用此方法,您可以检查是否实际使用了缓存.您无法看到的是您的缓存是否有助于加速您的应用程序.为此,您必须按照评论中的建议进行性能测试.
您可以安装django-debug-toolbar,并在启用缓存时查看查询数是否减少.虽然我不认为这是提出问题的最佳解决方案,但我仍然认为您想要这样做,因为您可以使用此设置轻松查明代价高昂的查询,然后为其添加适当的缓存.
| 归档时间: |
|
| 查看次数: |
22068 次 |
| 最近记录: |