一、环境安装

基本环境:

Python环境:Python 3.8.16

Django环境:4.1

redis环境:参考搭建 https://www.cnblogs.com/yclh/p/14742336.html

并且已经添加了myApp的应用

安装redis的包:

pip install django-redis

二、配置文件

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

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},#连接池

"SOCKET_CONNECT_TIMEOUT": 5,  # 连接redis超时时间,单位为秒

"SOCKET_TIMEOUT": 5,  # redis读写操作超时时间,单位为秒

# "PASSWORD": "123",

}

}

}

三、myApp里配置路径和编写view的方法

1、配置路径

2、编写view的方法

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
#1 使用cache(推荐使用这种方法)
from django.core.cache import cache def index(request):
cache.set("oneName", "张三")
#timeout是有效期 单位是秒
cache.set("TwoName", "lisi", timeout=5)
print(cache.get("oneName"))
print(cache.get("TwoName"))
return HttpResponse('设置成功') #2 直接使用conn对象(不推荐,但是也可以用)
from django_redis import get_redis_connection def my(request):
redis_conn = get_redis_connection("default")
redis_conn.set("id", "hello")
print(redis_conn.get("id")) # 查看目前已创建的连接数量
connection_pool = redis_conn.connection_pool
print(connection_pool._created_connections)
return HttpResponse('设置成功')

四、验证效果

注:结合控制台的输出,验证从redis里取数据

1、进入redis客户端

127.0.0.1:6379> keys *

(empty list or set)

没有主键信息

2、浏览器访问http://127.0.0.1:8000/redis/test

127.0.0.1:6379> keys *

1) ":1:TwoName"

2) ":1:oneName"

有两个key了,过5秒钟在次查看

127.0.0.1:6379> keys *

1) ":1:oneName"

TwoName过期就从redis里自动删除了

3、浏览器访问http://127.0.0.1:8000/redis/other

127.0.0.1:6379> keys *

1) "id"

2) ":1:oneName"

说明view里写的两种方式都可以操作redis

Django操作redis的更多相关文章

  1. Django day 34 过滤课程,登录,redis,python操作redis

    一:过滤课程, 二:登录 三:redis, 四:python操作redis

  2. python——操作Redis

    在使用django的websocket的时候,发现web请求和其他当前的django进程的内存是不共享的,猜测django的机制可能是每来一个web请求,就开启一个进程去与web进行交互,一次来达到利 ...

  3. 数据库之redis篇(3)—— Python操作redis

    虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ...

  4. django - 总结 - redis缓存

    八.redis 补充- 操作 - 增删改查 对字典,重新设计结构,增删改查. hmset  keys  hget   scan_iter  hgetall  import redis import j ...

  5. redis的使用与 django的redis的使用

    1. 使用redis数据库分为两种: 第一种是在python语言中直接使用的方式, 第二种就是在django中使用django_redis模块来数用 第一种直接在python语言中使用redis im ...

  6. Redis常用操作大全和Python操作Redis

    简单使用 utils.py import redis POOL=redis.ConnectionPool(host='127.0.0.1',port=6379) view.py 第一种方式 (通用方式 ...

  7. django做redis缓存

    django中应用redis:pip3 install django-redis - 配置 CACHES = { "default": { "BACKEND": ...

  8. edis 以及 Python操作Redis

    Redis 以及 Python操作Redis   Redis Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis有以下特点: -- Redis支持数据的持 ...

  9. Django中redis的使用方法(包括安装、配置、启动)

    一.安装redis: 1.下载: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 2.解压 tar -zxvf redis-3.2. ...

  10. Redis - Python操作Redis

    目录 Python操作Redis 一. Redis安装和基本使用 二. Python操作Redis API使用 1.操作模式 2.连接池 3.Django配置Redis 4.操作 Python操作Re ...

随机推荐

  1. rpmbuild时为什么会出现空的debugsourcefiles.list?

    错误: 空 %file 文件 /home/user/rpmbuild/BUILD/xxxx-0.1/debugsourcefiles.list 你看错误的里边有一个%file,这是使用spec文件构建 ...

  2. [学习笔记]SQL server完全备份指南

    方式一,使用SQL Server Management Studio 准备工作 连接目标数据库服务器 在目标数据库上右键->属性,将数据库的恢复模式设置为"简单",兼容级别设 ...

  3. 上篇 | 使用 🤗 Transformers 进行概率时间序列预测

    介绍 时间序列预测是一个重要的科学和商业问题,因此最近通过使用基于深度学习 而不是经典方法的模型也涌现出诸多创新.ARIMA 等经典方法与新颖的深度学习方法之间的一个重要区别如下. 概率预测 通常,经 ...

  4. Mysql基本使用指南

    一. 记录操作 子查询 select * from students where (age, height) = (select max(age), max(height) from students ...

  5. Winform 程序多开

    在使用应用程序的过程中,经常要求应用程序只能运行一次.如果发现重复开启,应从系统进程列表中搜索到已经开启的进程,并将该进程窗口移到最前端显示. 记录一下过程. 实现过程 在 Program.cs 文件 ...

  6. JZOJ 1121. Fix

    解析 考场时想多了,其实根本不用分阶段 一维状压 \(DP\) 就行了 可我没想清楚,加了个第几次去稳固一个点的阶段 然后时间就炸了!!! \(Code\) #include<cstdio> ...

  7. python Gui编程工具详解:beeware

    各个gui开发工具对比 Flexx: 可以使用Flexx创建桌面应用程序和web应用程序,同时可以将程序导出到独立的HTML文档中,GitHub推荐 Kivy&BeeWare: 只需编写一套代 ...

  8. a^b(位运算&快速幂)

    题目链接 题目: 题解:很简单.经典的的一道快速幂的题 注意一下用LL型就ok. 代码: 1 #include <map> 2 #include <set> 3 #includ ...

  9. RabbitMQ基础和解疑

    一.基础概念 1. Producer:生产者,就是投递消息的一方 消息一般可以包含2个部分:消息体和标签(Label).消息体也可以称之为payload,在实际应用中,消息体一般是一个带有业务逻辑结构 ...

  10. CF837G - Functions On The Segments

    我们考虑 \(\sum_{i=l}^r{f_i(x)}\) 是个什么东西.首先这个奇怪的东西很好离线做,所以尽管题目要求强制在线,我们还是离线下来试试. 我们发现,我们可以 \(x\) 坐标从 \(1 ...