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

0916自我总结

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

1.redis库

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

1.安装redis

2.可视化操作工具

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

3.命令行简单使用redis

-- redis-cli # 启动客户端

-- set key value # 设置值

-- get key # 取出值

4.redis支持

字符串:String

字典:Hash

列表:List

无序集合:Set

有序集合:Sorted Set

5.特点

内存数据库:数据存储在内存中,存取效率极高

nosql数据库:没有mysql那样的表关系,通过 类似字典方式,用 key-value 方式存储数据

高并发支持:单线程单进程并发

数据可持久化:redis中的数据可以保存在硬盘中,支持与mysql等数据库完成数据同步 #独有特点

支持的类型也较多:相比其他内存数据库(memcache)#独有特点

2.redis库python中操作

1.安装模块

pip3 install redis

2.简单使用

直接连接使用

import redis

r = redis.Redis(db=0) #第几个库

连接池使用

import redis

pool = redis.ConnectionPool(host='127.0.0.1', port=6379)

r = redis.Redis(connection_pool=pool)

常用的创建

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配置

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

from django.core.cache import cache # 结合配置文件实现插拔式

# 存放token,可以直接设置过期时间

cache.set('token', 'header.payload.signature', 10)

# 取出token

token = cache.get('token')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值