django-redis 使用
Django-redis 使用
-
安装
django-redis
pip install django-redis
-
配置信息
CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/8", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", "CONNECTION_POOL_KWARGS": {"max_connections": 100}, # "PASSWORD": "密码", 'CONNECTION_POOL_KWARGS': {'decode_responses': True}, # 添加这一行,数据正常返回,否则将以bytes返回 } } }
-
使用
views.py
from django.core.cache import cache from rest_framework.views import APIView from rest_response import Response class OrderViews(APIView): # 读取缓存信息 def get(self,request): tmp = cache.get('key') return Response({ "res":200, "msg":"", "data":tmp }) # 设置缓存信息 def post(self,request): # 设置成功返回True,否则返回False tmp = cache.set('key','value',10) return Response({ "res":200, "msg":"设置成功" })
-
使用
views.py
from django.core.cache import cache from rest_framework.views import APIView from rest_response import Response from django_redis import get_redis_connection # 购物车 class CartViews(APIView): # 初始化参数 def __init__(self): self.conn = get_redis_connection('default') # 设置缓存信息 def post(self,request): tmp = self.conn.hset('cart_1',2,{'name':'oppo30pro','price':5999,'count':1}) if tmp: return Response({ "res":200, "msg":"缓存设置成功" }) return Response({ "res":201, "msg":"缓存设置失败" }) # 读取缓存 def get(self,request): data = self.conn.hgetall('cart_1') return Response({ "res":201, "msg":"", "data":data })
-
url.py
from django.urls import path,include from . import views urlpatterns = [ path('cache/',views.OrderView.as_view()), ]
-
关于hash还有其他获取值的方式
- hgetall(name) 取出name对应hash的所有键值
- hlen(name)获取对应的hash中键值对的个数
- hkeys(name)返回所有key
- hvals(name)返回所有value
- hexisits(name,key)判断这个hash的key在不在
- hdel(name,*keys)删除指定的键值对
- hinrby(name,key,amount=1)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端