redis中django-redis的使用方法
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,本篇文章主要探讨redis中django-redis的使用方法。有一定的参考价值,有需要的朋友可以参考一下,跟随小编一起来看使用方法吧。自定义连接池这种方式跟普通py文件操作redis一样,代码如下v
千家信息网最后更新 2025年11月10日redis中django-redis的使用方法
本篇文章主要探讨redis中django-redis的使用方法。有一定的参考价值,有需要的朋友可以参考一下,跟随小编一起来看使用方法吧。
自定义连接池
这种方式跟普通py文件操作redis一样,代码如下
views.py
import redis from django.shortcuts import render,HttpResponse from utils.redis_pool import POOL def index(request): conn = redis.Redis(connection_pool=POOL) conn.hset('kkk','age',18) return HttpResponse('设置成功') def order(request): conn = redis.Redis(connection_pool=POOL) conn.hget('kkk','age') return HttpResponse('获取成功')通过第三方组件操作redis
安装
pip3 install django-redis
配置:
settings.py
# redis配置CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", "CONNECTION_POOL_KWARGS": {"max_connections": 100} # "PASSWORD": "密码", } }}使用:
views.py
import redisfrom django.shortcuts import render,HttpResponsefrom django_redis import get_redis_connection def index(request): conn = get_redis_connection("default") return HttpResponse('设置成功')def order(request): conn = get_redis_connection("default") return HttpResponse('获取成功')from rest_framework.views import APIViewfrom rest_framework.response import Response from django.core.cache import cache class OrderView(APIView): def get(self,request,*args,**kwargs): # conn = get_redis_connection('default') cache.set('a','b') print(cache.get('a')) return Response('..')全站缓存
使用中间件,经过一系列的认证等操作,如果内容在缓存中存在,则使用FetchFromCacheMiddleware获取内容并返回给用户,
当返回给用户之前,判断缓存中是否已经存在,如果不存在则UpdateCacheMiddleware会将缓存保存至缓存,从而实现全站缓存
MIDDLEWARE = [ 'django.middleware.cache.UpdateCacheMiddleware', # 其他中间件... 'django.middleware.cache.FetchFromCacheMiddleware', ]
一个放在最上面,一个放在最下面
views.py
from django.shortcuts import render,HttpResponseimport time def index(request): ctime = str(time.time()) return HttpResponse(ctime) def order(request): ctime = str(time.time()) return HttpResponse(ctime)
配置了全站缓存,在不同的时间(一定范围内),上面两个视图返回的时间是一样的,都是缓存时的时间
单独视图缓存
方式一:通过装饰器
from django.views.decorators.cache import cache_page @cache_page(60 * 15) def my_view(request): ...
方式二:通过url
from django.views.decorators.cache import cache_page urlpatterns = [ url(r'^foo/([0-9]{1,2})/$', cache_page(60 * 15)(my_view)), ]局部页面缓存
1. 引入TemplateTag
{% load cache %}2. 使用缓存
{% cache 5000 缓存的key %} 缓存内容{% endcache %}看完上述内容,你们对redis中django-redis的使用方法大概了解了吗?如果想了解更多相关文章内容,欢迎关注行业资讯频道,感谢各位的阅读!
缓存
内容
成功
使用方法
方法
全站
方式
时间
配置
中间件
文章
用户
视图
参考
不同
普通
两个
代码
价值
密码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
米酷影视数据库设置修改
吉大正元服务器密码机一直响
关系型数据库必须满足什么特性
异地两台电脑相互访问数据库方案
软件开发哪个好做
科来网络技术有限公司论坛
法治闻喜网络安全人人有责
文件管理服务器和主机连接
相城区信息化网络技术怎么样
美国 adsl 服务器
部落冲突服务器位置
网络安全专题教育 安全法
面试的软件开发一直做测试
护苗青少年网络安全课视频
软件开发实施过程
软件开发中什么是渲染
软件开发工程师跟项目
手机防蹭网络安全软件
穿越火线怎么开通新服务器
网络安全大赛心得
四川计算机网络技术职业学校
网络安全金融知识主题班会策划书
翻译英语单词软件开发
惠州服务软件开发联系方式
服务器分区时磁盘结构损坏
spring 数据库切换
我国网络安全轮廓
浙大中控软件开发在线笔试题
黄浦区上门软件开发报价方案
电子数据库未来发展趋势