Python连接Redis(简单连接、连接池连接、存取数据示例)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


黄金白璧买歌笑,一醉累月轻王侯。


文章目录

  • 一、Python连接Redis
    • 1. 下载安装redis库
    • 2. 连接Redis
  • 二、存取数据
    • 1. 存入数据
    • 2. 取出数据
    • 3. 关闭资源
    • 4. 完整示例代码
  • 三、连接池(拓展)
    • 1. 建立连接池
    • 2. 存取数据
    • 3. 关闭资源
    • 4. 完整示例代码
  • 四、示例代码下载


一、Python连接Redis

1. 下载安装redis库

使用redis前需要先下载安装redis的库,安装命令如下

pip install redis

详细的安装Redis库内容可参考:python安装redis库

2. 连接Redis

无密码连接redis的代码如下(未设置密码时,无需指定密码参数)

# 引入Redis库
import redis
# 连接运行的redis服务,host为Redis服务的ip地址,也可以是url链接
redis_client = redis.StrictRedis(host="127.0.0.1", port=6379, db=0)

有密码连接redis的代码如下(设置了密码,指定密码参数和值)

# 引入Redis库
import redis
# 连接运行的redis服务,host为Redis服务的ip地址,也可以是url链接
redis_client = redis.StrictRedis(host="127.0.0.1", port=6379, db=0, password="12345")

host是redis服务的ip地址,也可以是url链接
port是redis服务的访问端口,默认是6379,需要与redis服务设置的保持一致
db是使用的redis数据库是哪一个,默认是0
password是redis服务的密码,默认密码为空,如果设置了密码,需要填入密码

二、存取数据

连接redis数据库后,可以键值对形式,存入不同类型的值

接着第一部分,连接redis后,使用连接对象redis_client进行存取

以下以简单的字符串值存取为例

1. 存入数据

存数据的代码如下

# 设置键值对
redis_client.set("REDIS_TEST","test for redis with python")

执行代码后到redis可视化界面查看如下
在这里插入图片描述

2. 取出数据

取出代码如下

# 获取键值对
value = redis_client.get("REDIS_TEST")
print(value)

执行代码后控制台打印如下
在这里插入图片描述

3. 关闭资源

操作结束后,关闭资源,避免资源浪费

# 关闭连接
redis_client.close()

4. 完整示例代码

连接redis并存取数据的完整代码如下

# 引入Redis库
import redis# 连接运行的redis服务,host为Redis服务的ip地址,也可以是url链接
# redis_client = redis.StrictRedis(host="127.0.0.1", port=6379, db=0)
# 如需密码
redis_client = redis.StrictRedis(host="127.0.0.1", port=6379, db=0, password="12345")# 设置键值对
redis_client.set("REDIS_TEST","test for redis with python")# 获取键值对
value = redis_client.get("REDIS_TEST")
print(value)# 关闭连接
redis_client.close()

三、连接池(拓展)

当需要多个连接对象时,可通过连接池进行连接

1. 建立连接池

建立连接池代码如下

# 引入Redis库
import redis# 如需管理多个连接,可以使用连接池,ConnectionPool
# pool = redis.ConnectionPool(host="127.0.0.1", port=6379, db=0)
pool = redis.ConnectionPool(host="127.0.0.1", port=6379, db=0, password="12345")
redis_client = redis.Redis(connection_pool=pool)

2. 存取数据

存取数据代码

# 设置键值,存入Redis
redis_client.set("TEST_REDIS01","TEST FOR REDIS 01")# 获取键对应的值
value = redis_client.get("TEST_REDIS01")
print(value)

存入数据后在redis客户端查看内容
在这里插入图片描述
控制台打印结果如下
在这里插入图片描述

3. 关闭资源

关闭资源,避免资源浪费

# 先关闭连接
redis_client.close()# 再关闭连接池
pool.disconnect()

4. 完整示例代码

完整示例代码如下

# 引入Redis库
import redis# 如需管理多个连接,可以使用连接池,ConnectionPool
# pool = redis.ConnectionPool(host="127.0.0.1", port=6379, db=0)
pool = redis.ConnectionPool(host="127.0.0.1", port=6379, db=0, password="12345")
redis_client = redis.Redis(connection_pool=pool)# 设置键值,存入Redis
redis_client.set("TEST_REDIS01","TEST FOR REDIS 01")# 获取键对应的值
value = redis_client.get("TEST_REDIS01")
print(value)# 先关闭连接
redis_client.close()# 再关闭连接池
pool.disconnect()

四、示例代码下载

本文示例代码已上传至CSDN资源库
下载地址:Python Redis连接 存取数据 示例代码


感谢阅读,祝君暴富!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/31508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据中心:AI范式下的内存挑战与机遇

在过去的十年里,数据中心和服务器行业经历了前所未有的扩张,这一进程伴随着CPU核心数量、内存带宽(BW),以及存储容量的显著增长。这种超大规模数据中心的扩张不仅带来了对计算能力的急剧需求,也带来了前所未有的内存功率密度挑战&…

Docker 从安装到使用的完整指南

目录 什么是 DockerDocker 的核心概念 镜像容器DockerfileDocker Compose Docker 的安装 在 Windows 上安装 Docker在 macOS 上安装 Docker在 Linux 上安装 Docker Docker 的基本使用 启动第一个容器管理容器构建自定义镜像使用 Docker Compose 高级主题 Docker 网络Docker 数…

适合孩子学习用什么的落地灯?五款精品护眼大路灯分享

适合孩子学习用什么的落地灯?说到护眼落地灯,都会出现两种呼声:一种是认为是“智商税”,而另外一种则是妥妥的照明神器!护眼大路灯到底是哪种定义呢?贵的护眼灯一定好吗? 这么年,护…

区块链技术:重塑金融市场监管的新引擎

一、引言 随着金融市场的不断发展和创新,监管面临的挑战也日益严峻。传统的监管模式已难以满足现代金融市场的需要,而区块链技术的出现为金融市场监管带来了新的机遇。本文将探讨区块链技术在金融市场监管中的作用,以及它如何重塑监管模式&a…

深入研究websocket直播中signature这个参数怎么来的,模拟自己生成一个

上一节课我们已经找到了生成signature这个字段的代码位置,就是这个B函数,嗯......听起来好像有点奇怪,但是它确实叫B啊,笑死。不管了,看一下里面的逻辑是啥。 注意e参数的内容是: {"app_name":…

【Academy】API测试API testing

API测试API testing 概述API侦察API文档发现API文档使用机器可读的API文档 标识API端点与API端点交互确定支持的HTTP方法确定支持的内容类型使用Intruder查找隐藏端点 查找隐藏参数大量分配漏洞识别隐藏参数测试大规模分配漏洞 防止API中的漏洞服务端参数污染测试查询字符串中的…

作业管理系统

摘 要 随着网络的发展,信息化时代的到来,在教学工作的过程中作用越来越明显,作业的及时发布,学生的及时提交,以及通过网上的批改和评分,都大大促进教学质量的发展,充分的利用网络来加强管理&am…

用类来实现输入和输出时间(时:分:秒)

编写程序: 运行结果: 程序分析: 这是一个很简单的例子。类Time中只有数据成员,而且它们被定义为公用的,因此可以在类的外面对这些成员进行操作。t1被定义为Time类的对象。在主函数中向t1对象的数据成员输入用户…

MongoDB基础知识

​ 文档是mongodb中的最初单元,类似于mysql中的行,集合可以看做一个具有动态模式的表,mongodb可以拥有多个互相独立的数据库,每个数据库,都拥有自己的集合;每一个文档都有一个特殊的健:“_id”&…

“一站式企业服务平台”的功能架构

为提升区域营商环境,为促进区域经济发展,实现资源高效配置,全国各区域政府及产业园区都越来越重视如何创新企业服务机制、提升企业服务水平,来保障区域内的企业稳定及帮扶企业高质量的发展。随着近年来大数据、人工智能等新一代信…

前端记录日志生成文件保存到本地

一、前言 项目上线后业务人员反馈说是打印数据不准确,通过websocket连接打印机服务去进行打印,会出现条码漏打的情况;通过后端日志和打印机日志均没有找到问题原因,猜测是websocket连接断开导致的问题。 也想通过前端日志去排查…

第9天:静态文件和媒体文件管理

第9天:静态文件和媒体文件管理 目标 管理静态资源(如CSS、JavaScript、图片等)和用户上传的文件。 任务概览 配置静态文件和媒体文件的存储路径。学习如何收集和压缩静态文件。 详细步骤 1. 配置静态文件和媒体文件的存储路径 在setti…

Redis 分布式锁教程

Redis 分布式锁教程 简介 在分布式系统中,多个进程可能会尝试同时访问共享资源,这会导致数据不一致或者竞争条件。分布式锁是一种用于控制对共享资源访问的机制。Redis 是一个流行的内存数据存储系统,可以用来实现分布式锁。 本文将介绍如…

react项目中如何书写css

一:问题: 在 vue 项目中,我们书写css的方式很简单,就是在 .vue文件中写style标签,然后加上scope属性,就可以隔离当前组件的样式,但是在react中,是没有这个东西的,如果直…

【学一点儿前端】单页面点击前进或后退按钮导致的内存泄露问题(history.listen监听器清除)

今天测试分配了一个比较奇怪的问题,在单页面应用中,反复点击“上一步”和“下一步”按钮时,界面表现出逐渐变得卡顿。为分析这一问题,我用Chrome的性能监控工具进行了浏览器性能录制。结果显示,每次点击“上一步”按钮…

Mars3d实现汽车尾气粒子效果从汽车屁股开始发射效果

本身的汽车尾气粒子效果:在汽车模型的中间发射的↓↓↓↓↓↓↓↓↓↓↓ Mars3d实例中是使用transY偏移值实现汽车尾气粒子效果从汽车屁股开始发射效果: // 动态运行车辆的尾气粒子效果 function addDemoGraphic4(graphicLayer) {const fixedRoute new…

三星与SK海力士:以混合键合技术引领3D DRAM革新之路

在高速缓存内存(HBM)领域持续领跑的三星与SK海力士,正以混合键合技术为突破口,开启3D DRAM技术的新纪元。这一战略转型不仅预示着存储技术的深度革新,更体现了两大半导体巨头在提高集成度、优化性能与成本上的不懈追求…

如何恢复电脑硬盘删除数据?提供一套实用恢复方案

在数字化时代,电脑硬盘中存储的数据对于个人和企业来说都至关重要。然而,有时我们可能会不小心删除了一些重要文件,或者因为某种原因导致数据丢失。这时候,恢复硬盘上被删除的数据就显得尤为重要。本文将为您提供一套实用的电脑硬…

光电数鸡算法《java》

一:需求 题目:一条流水线有工位D1,D2,D3…D20,总共20个工位。 每个工位都装有一个光电计数器,每个工位都为本工位的计数减去前一个工位(第一个有数值的工位除外,不计算。) 计算规则:比如D1,D2都…

在自托管基础设施上使用 GitOps 部署 MinIO

基于MinIO Weaviate Python GitOps探索的见解,本文探讨了如何增强软件部署流程的自动化。 通过将 GitHub Actions 与 Docker Swarm 集成而产生的协同作用,以自托管基础架构的稳健性为基础,标志着 CI/CD 实践的关键进步。这种方法不仅利用了软…