Django使用redis进行缓存

对于非经常更新的服务器数据,若每次都从硬盘读取一次,会浪费服务器资源、拖慢响应速度,而且数据更新频率较高,服务器负担比较大。若保存到数据库,还需要额外建立一张对应的表存储数据。一个更好的方法是在Django中使用Redis进行缓存。

缓存配置

首先安装django-redis:

pip install django-redis

在setting文件中设置CACHES:

CACHES = {
   
    'default':{
   
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION':"redis://you_host:you_port/1",
        'TIMEOUT': 200,   # NONE 永不超时
        'OPTIONS':{
   
                "PASSWORD":"you_passwd",#密码,没有可不设置
                'CLIENT_CLASS': 'django_redis.client.DefaultClient', #redis-py 客户端
                'PICKLE_VERSION': -1, # 插件使用PICKLE进行序列化,-1表示最新版本
                'CONNECTION_POOL_KWARGS': {
   "max_connections": 100}, # 连接池最大连接数
                'SOCKET_CONNECT_TIMEOUT': 5,    # 连接超时
                'SOCKET_TIMEOUT': 5,    # 读写超时
                }
        #"KEY_PREFIX ":"test",#前缀
    }
}

配置好后运行程序,进行测试:
引入库

>>>from django.core.cache import cache
>>>cache.set("test","abscd",30)
True

同时查看redis-cli客户端是否写入:
在这里插入图片描述
已经写入redis,说明配置没问题。

缓存

1.视图缓存

缓存框架通用的方法就是缓存视图函数,在需要进行缓存的视图函数文件中引入django.views.decorators.cache定义的装饰器cache_page,它可以自动缓存视图:

from django.views.decorators.cache import cache_page
@cache_page(60 * 15)
def my_view(request):<
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值