iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >django redis的使用方法详解
  • 499
分享到

django redis的使用方法详解

djangoredis使用djangoredis 2023-04-14 16:04:21 499人浏览 独家记忆
摘要

目录1.说明2.安装3.配置3.1 配置Redis3.2 使用redis存储session3.3 redis连接超时时间设置4.使用redis4.1 使用默认redis4.2 使用指定redis(原生redis)5.连接

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
redissSSL方式的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

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的使用方法详解的文章就介绍到这了,更多相关django redis使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: django redis的使用方法详解

本文链接: https://www.lsjlt.com/news/201551.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • django redis的使用方法详解
    目录1.说明2.安装3.配置3.1 配置Redis3.2 使用redis存储session3.3 redis连接超时时间设置4.使用redis4.1 使用默认redis4.2 使用指定redis(原生redis)5.连接...
    99+
    2023-04-14
    django redis使用 django redis
  • Django使用redis配置缓存的方法
    目录前言django应用redis缓存1.settings配置2.全站缓存3.视图函数缓存4.低级缓存5.session缓存对于非经常更新的服务器数据,若每次都从硬盘读取一次,会浪费...
    99+
    2024-04-02
  • 详解Django中 render() 函数的使用方法
    render() 函数 在讲 render() 函数之前,我们在 Django 项目 index 文件夹的 urls.py 和 views.py 中编写如下功能代码:(不难,望读者细...
    99+
    2024-04-02
  • redis中opsForList().range()的使用方法详解
    目录结论(具体测试数据请往下看)1、环境 Redis2、测试代码:3、测试数据(假设List长度为N)4、测试从索引倒数开始4.1、stringRedisTemplate.opsForList().range(key, ...
    99+
    2023-03-15
    redis opsforList().range() opsforlist().range
  • python中使用redis用法详解
    目录安装Redis连接池redis的String类型基本命令示例实例应用场景 – 页面点击数redis的hash类型基本命令示例1、单个增加--修改(单个取出)--没有就新增,有的话就修改2、批量增加(取出)...
    99+
    2022-12-22
    python redis
  • Django的get_absolute_url方法的使用
    目录一、创建模型二、设计urls三、编写视图四、HTML模板五、使用get_absolute_url方法六、总结思考本文主要的目的是通过一个简单的例子,展示`get_absolute...
    99+
    2024-04-02
  • Django定时任务Django-crontab的使用详解
    在使用的django做测试平台时,,多多少少都会遇到需要定时任务的功能,比如定时执行任务,检查订单之类的。可能是一段时间,比如每隔 10分钟执行一次,也可能是定点时间,比如 14:0...
    99+
    2024-04-02
  • django redis怎么使用
    这篇“django redis怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“django red...
    99+
    2023-07-06
  • Django分页器的用法详解
    目录1、准备基础数据 2、一次性展示数据 3、引入分页器 附:drf分页器的使用1.1 PageNumberPagination 1.2 LimitOffsetPagination ...
    99+
    2024-04-02
  • Python利用flask操作Redis的方法详解
    目录简单示例python flask 操作 Redis 更多内容通过 Flask 存储字符串、列表和字典使用 Flask 操作 Redis 可以通过安装 Redis 的 Python...
    99+
    2023-02-01
    Python flask操作Redis Python flask Redis Python 操作Redis
  • djangoredis的使用方法详解
    目录1.说明2.安装3.配置3.1 配置redis3.2 使用redis存储session3.3 redis连接超时时间设置4.使用redis4.1 使用默认redis4.2 使用指...
    99+
    2023-05-16
    django redis使用 django redis
  • Java Redis配置Redisson的方法详解
    目录需要的Mavenapplication-redis.ymlSession共享配置Redisson配置其他Redisson的Config配置方式需要的Maven &...
    99+
    2022-11-13
    Java Redis配置Redisson Java 配置Redisson Java Redis Redisson
  • 详解Oracle的使用方法
    Oracle是一种关系型数据库管理系统(RDBMS),它提供了一个强大的、可扩展的、高性能的数据库平台,适用于各种企业级应用程序。以...
    99+
    2023-08-24
    oracle
  • redis的主从配置方法详解
    Linux系统下的redis的主从配置方法非常简单,下面给大家分享一下redis的主从配置方法具体的操作步骤 环境介绍: OS:oracle linux 5.6 redis:redis-2.6.8 mast...
    99+
    2024-04-02
  • Django分页器的使用方法
    这篇文章主要介绍了Django分页器的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Django是一个大而全的框架。需要明确的是,传参进行分页获取分页后的数据,一般都...
    99+
    2023-06-15
  • 在Django中使用MQTT的方法
    安装MQTT Python环境下安装MQTT也很简单,需要注意的就是不要输错命令 在Python3环境下安装Python MQTT的命令是: pip3 install pah...
    99+
    2024-04-02
  • Django 中使用日志的方法
    目录1. 日志的意义2. django 中如何处理日志3. Python 中使用日志3.1 直接输出日志信息3.2 设置日志级别3.3 保存日志到文件3.4 设置编码3.5 覆盖日志...
    99+
    2024-04-02
  • django使用crontab定时的方法
    小编给大家分享一下django使用crontab定时的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!当进行django开发时,通常会做一些特殊的定时任务,如定...
    99+
    2023-06-14
  • Django drf分页器的使用详解
    前言 当后台返回的数据过多时,我们就要配置分页器,比如一页最多只能展示10条等等,drf中默认配置了3个分页面 PageNumberPagination:基础分页器,性能略...
    99+
    2024-04-02
  • 了解Django Shell中Python函数的使用方法
    Django是一款使用Python编写的高性能Web框架,它的一个重要特性是Django Shell,它允许我们在交互式环境下使用Python函数,这是一个非常方便的工具,让我们能够更加有效地开发和测试Django应用程序。在本文中,我们将...
    99+
    2023-09-30
    函数 django shell
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作