Django基础教程之配置Redis缓冲

环境:腾讯云Ubuntu 16.04

Django的Redis缓存可以分为view缓存、Template模板缓存、底层的缓存API

1.在settings中进行配置

CACHES={
    "default": {
        'BACKEND': 'redis_cache.cache.RedisCache',   #缓存到redis中,默认存储在1数据库,也可缓存到redis_cache.cache.RedisCache本地内存中
        'LOCATION': 'localhost:6379'    #配置本地redis数据库
        'TIMEOUT': 60,  #缓存时间,单位为秒,如果设置为None,则永不过期
    }
}

2.安装django-redis-cache


在安装django-redis-cache之前,系统必须先安装好redis

sudo apt-get install redis-server

3.查看redis是否启动

使用命令 ps -aux|grep redis


如果没有发现redis-server,则输入sudo redis-server启动redis

4.查看redis缓存情况

redis-cli    #连接数据库
select 1     #切换到数据库1
keys *       #查看1中的所有数据


此时看到的redis中是没有缓存任何数据的

5.通过装饰器对views进行缓存

from django.views.decoretors.cache import cache_page

@cache_page(60 * 10)  #时间以60为基准,60*10就是10分钟
def cache(request):
    return HttpResponse('hello')


地址就是自己在urls中配置好的

urlpatterns = [
    url(r'^cache/$', views.cache),
]


6.测试缓存

调试django,输入python manage.py runserver 0.0.0.0:8008

访问刚刚的视图http://x.x.x.x:8008/cache就能看到返回的hello

查看redis的数据(还是按上面的命令进行查看)


这时候就能看到redis已经缓存了我们刚刚访问的页面的数据了

7.通过视图进行缓存

为了能看出效果,我们先将之前redis中的缓存先删除掉

可以登录redis中,选择1,使用del [key名] 对缓存进行删除

然后直接在任意的模板中进行缓存设置即可,格式如下:

#加载缓存
{% load cache %}

# 缓存模块,500为时间,单位秒,hello'为模块名
{% cache 500 hello %}

hell0 1

# 模块结束
{%endcache %}
8.底层的缓存API

from django.core.cache import cache

设置:cache.set(键,值,有效时间)
获取:cache.get(键)
删除:cache.delete(键)
清空:cache.clear()





猜你喜欢

转载自blog.csdn.net/zhaogeno1/article/details/78964223