千家信息网

Python中如何用Redis

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容主要讲解"Python中如何用Redis",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python中如何用Redis"吧!前面我们都是使用 Red
千家信息网最后更新 2026年10月31日Python中如何用Redis

本篇内容主要讲解"Python中如何用Redis",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python中如何用Redis"吧!

前面我们都是使用 Redis 客户端对 Redis 进行使用的,但是实际工作中,我们大多数情况下都是通过代码来使用 Redis 的,由于小编对 Python 比较熟悉,所以我们今天就一起来学习下如何使用 Python 来操作 Redis。

环境准备

  • Redis 首先需要安装好。

  • Python 安装好(建议使用 Python3)。

  • Redis 的 Python 库安装好(pip install redis)。

开始实践

小试牛刀

例:我们计划通过 Python 连接到 Redis。然后写入一个 kv,最后将查询到的 v 打印出来。

直接连接

#!/usr/bin/python3import redis   # 导入redis模块r = redis.Redis(host='localhost', port=6379, password="pwd@321", decode_responses=True)   # host是redis主机,password为认证密码,redis默认端口是6379r.set('name', 'phyger-from-python-redis')  # key是"name" value是"phyger-from-python-redis" 将键值对存入redis缓存print(r['name'])  # 第一种:取出键name对应的值print(r.get('name'))  # 第二种:取出键name对应的值print(type(r.get('name')))

其中的 get 为连接池最后一个执行的命令。

连接池

通常情况下,需要连接 redis 时,会创建一个连接,基于这个连接进行 redis 操作,操作完成后去释放。正常情况下,这是没有问题的,但是并发量较高的情况下,频繁的连接创建和释放对性能会有较高的影响,于是连接池发挥作用。

连接池的原理:预先创建多个连接,当进行 redis 操作时,直接获取已经创建好的连接进行操作。完成后,不会释放这个连接,而是让其返回连接池,用于后续 redis 操作!这样避免连续创建和释放,从而提高了性能!

#!/usr/bin/python3import redis,time   # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库pool = redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True)   # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379r = redis.Redis(connection_pool=pool)r.set('name', 'phyger-from-python-redis')print(r['name'])print(r.get('name'))  # 取出键name对应的值print(type(r.get('name')))

你会发现,在实际使用中直连和使用连接池的效果是一样的,只是在高并发的时候会有明显的区别。

基操实践

对于众多的 Redis 命令,我们在此以 SET 命令为例进行展示。

格式: set(name, value, ex=None, px=None, nx=False, xx=False)

在 redis-py 中 set 命令的参数:

参数名释义
ex过期时间(m)
px过期时间(ms)
nx如果为真,则只有 name 不存在时,当前 set 操作才执行
xx如果为真,则只有 name 存在时,当前 set 操作才执行

ex

我们计划创建一个 kv 并且设置其 ex 为 3,期待 3 秒后此 k 的 v 会变为 None。

#!/usr/bin/python3import redis,time   # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库pool = redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True)   # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379r = redis.Redis(connection_pool=pool)r.set('name', 'phyger-from-python-redis',ex=3)print(r['name'])    # 应当有vtime.sleep(3)print(r.get('name'))  # 应当无vprint(type(r.get('name')))

nx

由于 px 的单位太短,我们就不做演示,效果和 ex 相同。

我们计划去重复 set 前面已经 set 过的 name,不出意外的话,在 nx 为真时,我们将会 set 失败。但是人如果 set 不存在的 name1,则会成功。

#!/usr/bin/python3import redis,time   # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库pool = redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True)   # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379r = redis.Redis(connection_pool=pool)r.set('name', 'phyger-0',nx=3) # set失败print(r['name'])    # 应当不生效r.set('name1', 'phyger-1',nx=3) # set成功print(r.get('name1'))  # 应当生效print(type(r.get('name')))

如上,你会发现 name 的 set 未生效,因为 name 已经存在于数据库中。而 name1 的 set 已经生效,因为 name1 是之前在数据库中不存在的。

xx

我们计划去重复 set 前面已经 set 过的 name,不出意外的话,在 nx 为真时,我们将会 set 成功。但是人如果 set 不存在的 name2,则会失败。

#!/usr/bin/python3import redis,time   # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库pool = redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True)   # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379r = redis.Redis(connection_pool=pool)r.set('name', 'phyger-0',xx=3) # set失败print(r['name'])    # 应当变了r.set('name2', 'phyger-1',xx=3) # set成功print(r.get('name2'))  # 应当没有set成功print(type(r.get('name')))

到此,相信大家对"Python中如何用Redis"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

主机 服务 数据 数据库 成功 客户 客户端 模块 端口 缓存 命令 情况 端操 实际 装好 学习 不出意外 内容 参数 只有 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技金融公司 互联网科技网站 互联网高科技企业 成都狮子座互联网科技 重庆科技学院互联网 深圳卡尔迅互联网科技有限公司怎么样 深圳市运趣互联网科技有限公司 互联网科技寓意 黑科技闪耀互联网之光 湖南一路畅行互联网科技 高科技互联网发展前景如何 合肥互联网科技公司公章图片 上海科技产业互联网平台 风投北京互联网科技 互联网科技接地气 互联网科技职业技能培训学校 绵阳真晨互联网科技有限公司 银川新华互联网科技学校招聘 伍佰万互联网科技是干嘛的 恒生科技互联网指数十大成分股 中关村互联网 科技集团 顶级互联网科技成果有哪些 互联网公司科技股 湖南一路畅行互联网科技 用友工业互联网科技发展 互联网数据科技专业 互联网高科技行业有哪些企业 高科技和互联网的现代国家 每日互联网科技新闻 广州全民伙伴互联网科技有限公司
0