django自带cache结合redis创建永久缓存
0916自我总结
django自带cache结合redis创建永久缓存
1.redis库
1.安装redis与可视化操作工具
1.安装redis
https://www.runoob.com/redis/redis-install.html
2.可视化操作工具
2.在服务中管理redis服务器的开启关闭
3.命令行简单使用redis
复制-- redis-cli # 启动客户端
-- set key value # 设置值
-- get key # 取出值
4.redis支持
复制字符串:String
字典:Hash
列表:List
无序集合:Set
有序集合:Sorted Set
https://www.runoob.com/redis/redis-tutorial.html
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')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理