Django使用redis实现缓存

实现缓存的方式,有多种:本地内存缓存,数据库缓存,文件系统缓存。这里介绍使用Redis数据库进行缓存。

配置

 CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PASSWORD": "mysecret",
8 "CONNECTION_POOL_KWARGS": {"max_connections": 100} # 连接池最大连接数
9 }}}

在settings.py配置完后执行  python manage.py createcachetable

缓存有站点缓存,和单个view缓存
站点缓存:

 MIDDLEWARE = [
# 站点缓存 , 注意必须在第一个位置
'django.middleware.cache.UpdateCacheMiddleware',
...
# 站点缓存, 注意必须在最后一个位置
'django.middleware.cache.FetchFromCacheMiddleware',
]

视图缓存:

 from django.shortcuts import render
from django.views.decorators.cache import cache_page
from cache.models import Foo
# 在需要缓存的视图上添加装饰器, 参数是设置timeout 超时时间, 单位是秒,
@cache_page(60)
def index(request):
  bar = Foo.objects.all()
  return render(request, 'cache/index.html', {'bar': bar})
上一篇:35个jQuery小技巧(转)


下一篇:Linux笔记-常用的命令(15-3-30)