目录
- 介绍
- 安装redis-py
- 连接 Redis
- 增加(Create)
- 查询(Read)
- 更新(Update)
- 删除(Delete)
- 其他常用操作
- 检查键是否存在
- 设置键的过期时刻
- 获取键的过期时刻
- 使用哈希类型存储数据
- 拓展资料
- 完整示例
- 代码说明:
- 运行结局示例:
- 拓展资料
介绍
Redis 一个开源的内存数据结构存储体系,支持多种数据结构(如字符串、哈希、列表、集合、有序集合等),广泛用于缓存、会话管理、消息队列等场景。这篇文章小编将介绍怎样在 Python 中使用redis-py
库连接 Redis 数据库,并进行常见的增删改查操作。
安装redis-py
开门见山说,需要安装redis-py
库,这是 Python 与 Redis 交互的官方客户端。
pip install redis
连接 Redis
在进行增删改查操作前,我们开头来说需要连接到 Redis 服务器。假设 Redis 服务运行在本地默认端口 6379。
import redis 连接到 Redis 服务r = redis.StrictRedis(host=’localhost’, port=6379, db=0, decode_responses=True)
参数说明:
host
:Redis 服务的主机,默认是&039;localhost&039;
。port
:Redis 服务的端口,默认是6379
。db
:选择使用的数据库,Redis 默认有 16 个数据库,编号从 0 到 15,默认连接的是db=0
。decode_responses=True
:确保返回的结局是字符串,而不是字节。
增加(Create)
Redis 支持多种数据结构的操作,我们可以使用set()
技巧来设置一个键值对。
设置一个字符串类型的键值对r.set(‘name’, ‘John Doe’) 设置多个键值对r.mset(‘age’: 30, ‘city’: ‘New York’})
set()
:设置一个键的值,如果该键已经存在,则会覆盖原有的值。mset()
:批量设置多个键值对。
查询(Read)
可以通过get()
技巧来获取 Redis 中存储的值。
获取单个键的值name = r.get(‘name’)print(f’Name: name}’) 输出: Name: John Doe 获取多个键的值values = r.mget(‘name’, ‘age’, ‘city’)print(values) 输出: [‘John Doe’, ’30’, ‘New York’]
get()
:获取指定键的值。mget()
:批量获取多个键的值。
更新(Update)
Redis 的更新操作其实是通过set()
来实现的,由于set()
会覆盖已存在的键值对。
更新键 ‘age’ 的值r.set(‘age’, 35)print(r.get(‘age’)) 输出: 35
删除(Delete)
如果需要删除一个键值对,可以使用delete()
技巧。
删除键 ‘city’r.delete(‘city’)print(r.get(‘city’)) 输出: None,由于键 ‘city’ 已被删除
delete()
:删除指定的键,如果键不存在,什么都不做。
其他常用操作
除了基本的 CRUD 操作外,Redis 还支持一些其他有用的操作:
检查键是否存在
检查键 ‘name’ 是否存在exists = r.exists(‘name’)print(exists) 输出: True
设置键的过期时刻
设置键 ‘name’ 在 10 秒后过期r.expire(‘name’, 10)
获取键的过期时刻
获取键 ‘name’ 的剩余过期时刻ttl = r.ttl(‘name’)print(ttl) 输出: 剩余的秒数
使用哈希类型存储数据
Redis 还支持哈希类型,适用于存储结构化数据。可以使用hset()
,hget()
等技巧操作哈希。
设置哈希键 ‘user’,并存储字段 ‘name’ 和 ‘age’r.hset(‘user’, ‘name’, ‘John Doe’)r.hset(‘user’, ‘age’, 30) 获取哈希中的字段name = r.hget(‘user’, ‘name’)age = r.hget(‘user’, ‘age’)print(f’Name: name}, Age: age}’)
拓展资料
这篇文章小编将展示了怎样在 Python 中使用redis-py
库连接 Redis 并进行增删改查操作。Redis 的灵活性和高效性使其成为构建高性能应用的理想选择。除了这篇文章小编将介绍的基本操作,Redis 还提供了许多高质量功能,如事务、管道、发布订阅等,可以根据具体应用场景进一步扩展。
完整示例
展示怎样使用 Python 连接 Redis,并进行增、查、改、删等操作。将使用redis-py
库,并使用 Redis 的多种数据结构进行操作。示例将包括基本的字符串操作、哈希操作、以及怎样设置键的过期时刻。
import redis 连接到 Redis 服务r = redis.StrictRedis(host=’localhost’, port=6379, db=0, decode_responses=True) 1. 增加(Create)操作 设置字符串类型的键值对r.set(‘name’, ‘John Doe’)r.set(‘age’, 30)r.set(‘city’, ‘New York’) 设置一个哈希类型的键值对r.hset(‘user:1000’, ‘name’, ‘Alice’)r.hset(‘user:1000’, ‘age’, 25) 批量设置多个键值对r.mset(‘country’: ‘USA’, ‘language’: ‘English’}) 打印结局print(f”Set ‘name’: r.get(‘name’)}”)print(f”Set ‘age’: r.get(‘age’)}”)print(f”Set ‘city’: r.get(‘city’)}”)print(f”Set ‘country’ and ‘language’: r.mget(‘country’, ‘language’)}”) 2. 查询(Read)操作 获取单个键值print(“n–查询操作–“)name = r.get(‘name’)print(f”Name: name}”) 获取多个键值user_data = r.mget(‘name’, ‘age’, ‘city’, ‘country’, ‘language’)print(f”User data: user_data}”) 获取哈希中的字段user_name = r.hget(‘user:1000’, ‘name’)user_age = r.hget(‘user:1000’, ‘age’)print(f”User 1000 Name: user_name}, Age: user_age}”) 3. 更新(Update)操作 更新字符串类型的值r.set(‘age’, 35)print(f”Updated ‘age’: r.get(‘age’)}”) 更新哈希中的字段r.hset(‘user:1000’, ‘age’, 26)print(f”Updated ‘user:1000’ age: r.hget(‘user:1000’, ‘age’)}”) 4. 删除(Delete)操作 删除单个键r.delete(‘city’)print(f”Deleted ‘city’, current value: r.get(‘city’)}”) 删除哈希中的字段r.hdel(‘user:1000’, ‘name’)print(f”Deleted ‘name’ from ‘user:1000’, current fields: r.hgetall(‘user:1000’)}”) 5. 设置键的过期时刻 设置 ‘country’ 键在 5 秒后过期r.expire(‘country’, 5)print(f”Is ‘country’ key expired? r.exists(‘country’)}”) 初始为 True 等待 6 秒钟,键应该过期import timetime.sleep(6)print(f”After waiting 6 seconds, is ‘country’ expired? r.exists(‘country’)}”) 应该为 False 6. 其他操作:检查键是否存在key_exists = r.exists(‘name’)print(f”Does ‘name’ exist? key_exists}”) 获取键的剩余生存时刻ttl = r.ttl(‘age’)print(f”The remaining time-to-live for ‘age’ is: ttl} seconds”) 获取哈希中所有字段和值user_data_all = r.hgetall(‘user:1000’)print(f”All fields in ‘user:1000’: user_data_all}”) 完成print(“n– 完成所有操作 –“)
代码说明:
-
连接 Redis使用
redis.StrictRedis()
来创建一个 Redis 连接对象,指定主机名、端口和数据库索引。这里使用了decode_responses=True
,让返回的结局是字符串而不是字节。 -
增(Create)操作
- 使用
set()
设置字符串类型的键值对。 - 使用
hset()
设置哈希类型的字段。 - 使用
mset()
批量设置多个键值对。
- 使用
-
查(Read)操作
- 使用
get()
获取单个字符串类型的值。 - 使用
mget()
批量获取多个键的值。 - 使用
hget()
获取哈希类型的指定字段的值。 - 使用
hgetall()
获取哈希中所有的字段及其对应的值。
- 使用
-
改(Update)操作更新操作通过调用
set()
或hset()
来实现。Redis 会自动覆盖已有的值。 -
删(Delete)操作
- 使用
delete()
删除单个键。 - 使用
hdel()
删除哈希中的某个字段。
- 使用
-
过期时刻使用
expire()
设置键的过期时刻,单位为秒。使用ttl()
获取剩余的生存时刻。 -
检查键是否存在使用
exists()
判断一个键是否存在。
运行结局示例:
Set ‘name’: John DoeSet ‘age’: 30Set ‘city’: New YorkSet ‘country’ and ‘language’: [‘USA’, ‘English’]–查询操作–Name: John DoeUser data: [‘John Doe’, ’30’, ‘New York’, ‘USA’, ‘English’]User 1000 Name: Alice, Age: 25Updated ‘age’: 35Updated ‘user:1000’ age: 26Deleted ‘city’, current value: NoneDeleted ‘name’ from ‘user:1000’, current fields: ‘age’: ’26’}Is ‘country’ key expired? TrueAfter waiting 6 seconds, is ‘country’ expired? FalseDoes ‘name’ exist? TrueThe remaining time-to-live for ‘age’ is: -1 secondsAll fields in ‘user:1000’: ‘age’: ’26’}– 完成所有操作 —
拓展资料
通过这个完整的示例,我们展示了怎样使用 Python 通过redis-py
库与 Redis 进行基本的增删改查操作,并且涵盖了 Redis 中一些常用的功能,如设置过期时刻和检查键是否存在。这些操作适用于缓存管理、会话存储、实时数据处理等应用场景。
到此这篇关于Python连接Redis进行增删改查(CRUD)操作的文章就介绍到这了,更多相关Python连接Redis增删改查内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
无论兄弟们可能感兴趣的文章:
- python调用Elasticsearch执行增删改查操作
- Python操作PDF图片的基本技巧(增删改查)
- Python使用fastapi快速编写一个增删改查的接口
- Python使用PyMySql增删改查Mysql数据库的实现
- Python集合的增删改查操作
- python?Django实现增删改查实战代码
- pythonnumpy中对ndarry按照index增删改查
- 详解Python中字典的增删改查
- 利用Python实现sqlite3增删改查的封装
- python 列表,集合和字典的增删改查