前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >django自带cache结合redis创建永久缓存

django自带cache结合redis创建永久缓存

作者头像
小小咸鱼YwY
发布2020-06-19 16:05:51
1.2K0
发布2020-06-19 16:05:51
举报
文章被收录于专栏:python-爬虫python-爬虫

0916自我总结

django自带cache结合redis创建永久缓存

1.redis库

1.安装redis与可视化操作工具

1.安装redis

https://www.runoob.com/redis/redis-install.html

2.可视化操作工具

2.在服务中管理redis服务器的开启关闭

3.命令行简单使用redis

代码语言:javascript
复制
-- redis-cli  # 启动客户端
-- set key value  # 设置值
-- get key  # 取出值

4.redis支持

代码语言:javascript
复制
字符串:String
字典:Hash
列表:List
无序集合:Set
有序集合:Sorted Set

https://www.runoob.com/redis/redis-tutorial.html

5.特点

代码语言:javascript
复制
内存数据库:数据存储在内存中,存取效率极高
nosql数据库:没有mysql那样的表关系,通过 类似字典方式,用 key-value 方式存储数据
高并发支持:单线程单进程并发
数据可持久化:redis中的数据可以保存在硬盘中,支持与mysql等数据库完成数据同步 #独有特点
支持的类型也较多:相比其他内存数据库(memcache)#独有特点

2.redis库python中操作

1.安装模块

代码语言:javascript
复制
pip3 install redis

2.简单使用

直接连接使用

代码语言:javascript
复制
import redis
r = redis.Redis(db=0) #第几个库

连接池使用

代码语言:javascript
复制
import redis
pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
r = redis.Redis(connection_pool=pool)

常用的创建

代码语言:javascript
复制
r.set('111',123)
print(r.get('11111'))
print(type(r.get('name')))

r.hmset('dic',{'a':1,'b':1})
print(r.hgetall('dic'))
for a in  r.hgetall('dic').values():
    print(a.decode('utf8'))

3.结合使用

结合两者的特点cache序列化和返序列化操作简单,redis支持类型多也可以永久使用

djang中.setting.py配置

代码语言:javascript
复制
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379",    #redis的地址
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "CONNECTION_POOL_KWARGS": {"max_connections": 100}  #池的个数
        }
    }
}
#前提必须安装redis第三方数据模块

views.py

代码语言:javascript
复制
from django.core.cache import cache  # 结合配置文件实现插拔式
# 存放token,可以直接设置过期时间
cache.set('token', 'header.payload.signature', 10)
# 取出token
token = cache.get('token')
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0916自我总结
  • django自带cache结合redis创建永久缓存
  • 1.redis库
    • 1.安装redis与可视化操作工具
      • 2.在服务中管理redis服务器的开启关闭
        • 3.命令行简单使用redis
          • 4.redis支持
            • 5.特点
              • 2.redis库python中操作
                • 1.安装模块
                • 2.简单使用
              • 3.结合使用
              相关产品与服务
              云数据库 Redis
              腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档