django redis怎么使用


1.说明

redis作为一个缓存数据库,在各方面都有很大作用,python支持操作redis,如果你使用django,有一个专为django搭配的redis库,即django-redis

2.安装

pip install django-redis

3.配置

3.1 配置redis

打开Django的配置文件,比如说setting.py,里面设置CACHES项

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}

一个CACHES里可以配置多个redis连接信息,每一个都有自己的别名(alias),上面的“default”就是别名,到时候可以通过不同别名连接不同redis数据库

LOCATION是连接的信息,包括ip端口用户密码等,如果不需要用户密码则可以省略不写,django-redis支持三种连接协议,如下

协议 说明 举例
redis:// 普通的TCP套接字连接 redis://[[username]:[password]]@localhost:6379/0
rediss SSL方式的TCP套接字连接 rediss://[[username]:[password]]@localhost:6379/0
rediss:// Unix域套接字连接 unix://[[username]:[password]]@/path/to/socket.sock?db=0

3.2 使用redis存储session

Django默认的Session是存储在sql数据库里的,但我们都知道普通的数据会被数据存储在硬盘上,速度没有那么快,如果想改成存储在redis里,只需要在配置文件里配置一下就行

SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "default"

3.3 redis连接超时时间设置

连接超时的秒数可以在配置项里指定,SOCKET_CONNECT_TIMEOUT表示连接redis的超时时间,SOCKET_TIMEOUT表示使用redis进行读写操作的超时时间

CACHES = {
    "default": {
        # ...
        "OPTIONS": {
            "SOCKET_CONNECT_TIMEOUT": 5,  # 连接redis超时时间,单位为秒
            "SOCKET_TIMEOUT": 5,  # redis读写操作超时时间,单位为秒
        }
    }
}

4.使用redis

4.1 使用默认redis

如果你想使用默认的redis,也就是在配置文件里设置的别名为“default”的redis,可以引用django.core.cache里的cache

from django.core.cache import cache

cache.set("name", "冰冷的希望", timeout=None)
print(cache.get("name"))

4.2 使用指定redis(原生redis)

当你在配置文件里写了多个redis连接,可以通过别名指定要使用哪个redis

橙色广告产品包装类企业织梦源码 橙色广告产品包装类企业织梦源码

这是一款织梦开源的广告产品包装企业源码,使用的是织梦v5.7sp核心开发,整站源码包内包含详细的安装说明,可以让学习安装的人轻松快速的安装,安装好的网站内包含着一些广告产品演示数据,可以让使用的人更清楚的知道怎么上传和使用。

橙色广告产品包装类企业织梦源码 88 查看详情 橙色广告产品包装类企业织梦源码
from django_redis import get_redis_connection

redis_conn = get_redis_connection("chain_info")
redis_conn.set("name", "icy_hope")
print(redis_conn.get("name"))

要注意,通过get_redis_connection()获取得到的客户端是原生Redis客户端,虽然基本上支持所有的原生redis命令,但它返回的数据是byte类型,你需要自己decode

5.连接池

使用连接池的好处是不用管理连接对象,它会自动创建一些连接对象并且尽可能重复使用,所以相当来说性能会好一点

5.1 配置连接池

要使用连接池,首先要在Django的配置文件里写上连接池的最大连接数

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        ...
        "OPTIONS": {
            "CONNECTION_POOL_KWARGS": {"max_connections": 100}
        }
    }
}

5.2 使用连接池

我们可以通过连接别名确定要使用哪个redis,然后正常执行命令就行,我们不用在乎它创建了哪些连接实例,但你可以通过connection_pool的_created_connections属性查看当前创建了多少个连接实例

from django_redis import get_redis_connection

redis_conn = get_redis_connection("default")
redis_conn.set("name", "冰冷的希望")
print(redis_conn.get("name"))

# 查看目前已创建的连接数量
connection_pool = redis_conn.connection_pool
print(connection_pool._created_connections)

5.3 自定义连接池

Django-redis默认的连接的类是DefaultClient,如果你有更高的定制需求,可以新建一个自己的类,继承ConnectionPool

from redis.connection import ConnectionPool

class MyPool(ConnectionPool):
    pass

有了这个类之后还需要在Django的配置文件里指定它

"OPTIONS": {
    "CONNECTION_POOL_CLASS": "XXX.XXX.MyPool",
}

以上就是django redis怎么使用的详细内容,更多请关注其它相关文章!


# 可以通过  # 哈尔滨网络营销推广电话  # seo网络推广品牌营销  # 延安网站建设主题论文  # 网站建设与维护介绍  # 怎么在头条推广网站呢  # 哈秀时尚网seo  # seo模型挖词解析  # 网站域名要做哪些优化  # 郑州网站建设方案书实例  # seo搜索优化 深圳  # redis  # 就行  # 多个  # 要使  # 都有  # 的人  # 自己的  # 要在  # 连接池  # 配置文件  # django 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 鲁班大师乓乓皮肤获取方法  cad视图选项卡不见了怎么办_cad视图标签恢复显示方法  Retrofit根路径POST请求:@POST("/") 的应用与解析  BunnyStream TUS视频上传指南:解决401认证错误与参数配置  《360浏览器》设置摄像头权限方法  背部总是隐隐作痛怎么回事 背痛如何改善  向往的生活小游戏启动处_向往的生活小游戏立即启动  Go语言反射机制下访问嵌入结构体中的被遮蔽方法  Win11便笺在哪打开 Win11桌面便笺(Sticky Notes)使用方法【详解】  店铺如何做视频号推广?做视频号推广有用吗?  《小宇宙》标记不友善评论方法  漫蛙manwa官网浏览入口_漫蛙漫画网页版访问链接  PyEZ 配置提交中 RpcTimeoutError 的健壮性处理策略  键盘声音异常怎么回事_键盘异响怎么处理  J*aScript二进制处理_ArrayBuffer与Blob  多多买菜门店端app订单查看方法  HTML Canvas文本样式定制指南:解决外部字体加载与应用难题  WooCommerce 新客户订单自动添加管理员备注教程  《深林》冬季章节图文攻略  VS Code中的Tailwind CSS IntelliSense插件使用技巧  荣耀magicv5怎么上手测评  2025考研成绩查询时间入口分享  管理打开的编辑器:固定、分组和关闭技巧  无人机考证官网 中国民航无人机考证官网登录入口  研招网官方网站正版登录网址_中国研究生招生信息网官网首页  哔哩哔哩在线观看入口 B站官网免费进入  PDF文件去水印平台入口 PDF水印删除网址  谷歌邮箱怎么换绑定邮箱Gmail安全备份邮箱修改方法  《小黑盒》删除历史浏览方法  电子白板帮助菜单使用指南  Win10截图远程协助 Win10远程桌面截屏法【场景应用】  漫蛙manwa2网页版书签同步链接_漫蛙manwa多设备登录入口  《波斯王子:失落的王冠》剑术大师打法攻略  windows10怎么开启wsl_windows10安装linux子系统教程  处理含命名空间的XML文件 Power Query中的高级技巧  Win10怎么设置快速启动 Win10开启快速启动设置方法  QQ邮箱注册地址 免费获取QQ邮箱账号  在J*a中如何实现在线问答与评分系统_问答评分项目开发方法说明  《鹿路通》退余额方法  虫虫助手如何更新游戏  Teambition网盘如何共享文件  KFC邀请码怎么使用领额外优惠_KFC邀请码输入方式与额外优惠代码获取方法  解决异步Python机器人中同步操作的阻塞问题  word怎么将图片设置为页面背景并不影响打印_Word图片背景设置方法  顺丰快递在线查询系统 顺丰快递官方查单入口  《广发易淘金》国债逆回购操作教程  oppo手机如何通过下拉通知栏截图_oppo手机通知栏快捷截图方法  Flexbox布局:实现粘性导航与底部页脚的完美结合  雨课堂官网在线登录 网页版雨课堂登录链接  CSS布局中意外顶部空白的调试与解决:深入理解padding-top 

 2023-06-03

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.