python使用redis做缓存_Django使用redis作为缓存系统

为了提升网站的性能,加一层缓存是少不了的,由于之前做的东西是用django写的,所以就介绍一下django的缓存系统。

又由于我还使用了redis作为消息队列的后端,这里就不在介绍其他内存数据库,直接使用redis。

django使用redis作为缓存

redis

安装

由于笔者使用的是Ubuntu系统,安装较为简单,其他系统请自行查看官方文档。

$ sudo apt-get install redis-server

测试

使用redis命令行客户端测试一下是否成功

$ redis-cli

能出现以下结果即为成功

redis 127.0.0.1:6379>

其他的redis知识这里不左介绍,如果有兴趣,可以自行了解

django使用redis

安装django-redis

为了让django能够使用redis作为缓存,有人开发了一个库来帮我们实现。django-redis,我们需要安装一下才能使用redis

在终端中输入一下命令进行安装(pip方式)

$ pip install django-redis

配置django-redis

在你项目下的setting.py中添加如下代码即可

CACHES = {

"default": {

"BACKEND": "django_redis.cache.RedisCache",

"LOCATION": "redis://127.0.0.1:6379/1",

"OPTIONS": {

"CLIENT_CLASS": "django_redis.client.DefaultClient",

}

}

}

这样就能开始使用了,如果你想添加修改更多配置,想让其更适合自己的项目一点,可以自己去查看官方文档

这里随便配置一下session backend,同样在下面添加

SESSION_ENGINE = "django.contrib.sessions.backends.cache"

SESSION_CACHE_ALIAS = "default"

使用缓存

在setting中配置好上述配置之后我们就可以开始使用了,django中自带了几个常用的修饰器,可以视情况使用。

比如:

django.views.decorators.cache.cache_page()针对每个视图的缓存

from django.views.decorators.cache import cache_page

@cache_page(60 * 15)

def my_view(request):

...

在setting添加配置,对全站进行缓存

MIDDLEWARE = [

'django.middleware.cache.UpdateCacheMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.cache.FetchFromCacheMiddleware',

]

还可以调用低级api,直接操作缓存。

>>> cache.set('my_key', 'hello, world!', 30)

>>> cache.get('my_key')

'hello, world!'

可以按照自己的需要去选择合适的使用方法。

注:

上述环境在ubuntu16.04 lts django1.9中搭建测试成功

上述文字皆为个人看法,如有错误或建议请及时联系我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值