Python 操作 Redis 方法总结
Redis 简介
Redis 是一个开源的、高性能的 key-value 数据库,支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。Redis 的特点是数据存放在内存中,读写速度非常快,同时支持持久化。
Redis 的 Python 客户端非常丰富,包括 Redis-py、Redis-py-cluster、Walrus 等等。其中 Redis-py 是最受欢迎且使用最广泛的 Redis Python 客户端,也是本文的重点介绍对象。
安装 Redis-py 库
使用 pip 安装 Redis-py 库:
pip install redis
连接 Redis
在使用 Redis-py 客户端之前,需要先建立与 Redis 的连接。连接 Redis 可以使用 Redis-py 提供的 Redis 类来实现。Redis 类的构造函数如下:
redis.Redis(
host='localhost', # Redis 服务器地址
port=6379, # Redis 服务器端口号
db=0, # Redis 数据库编号
password=None, # Redis 密码
socket_timeout=None, # 套接字超时时间
connection_pool=None, # 连接池
charset='utf-8', # 字符集
errors='strict', # 错误处理方式
decode_responses=False, # 是否解码
unix_socket_path=None, # UNIX 套接字路径
)
例如,连接本地 Redis 服务器的默认端口号:
import redis
r = redis.Redis(host='localhost', port=6379)
字符串操作
Redis 的字符串可以是任何形式的数据,包括字符串、数字、JSON 对象等。Redis-py 提供了多种字符串操作方法。
设置值
设置一个字符串键值对:
r.set('name', 'Alice')
设置一个带过期时间的字符串键值对:
r.setex('name', 60, 'Alice') # 60 秒后过期
获取值
获取一个字符串类型的值:
r.get('name')
获取多个键的值:
r.mget('name', 'age', 'gender')
自增和自减
自增一个数字类型的值:
r.incr('age')
自减一个数字类型的值:
r.decr('age')
列表操作
Redis 的列表是一个简单的链表结构,每个节点包含一个字符串值。Redis-py 提供了多种列表操作方法。
在列表头部或尾部插入元素
在列表头部插入一条记录:
r.lpush('fruits', 'apple')
在列表尾部插入一条记录:
r.rpush('fruits', 'banana')
获取列表中的元素
获取列表的长度:
r.llen('fruits')
获取指定区间内的元素:
r.lrange('fruits', 0, -1) # 获取所有元素
r.lrange('fruits', 0, 1) # 获取前两个元素
r.lrange('fruits', -2, -1) # 获取最后两个元素
删除列表中的元素
从列表头部删除一个元素:
r.lpop('fruits')
从列表尾部删除一个元素:
r.rpop('fruits')
示例说明
以下是一个简单的示例,演示如何使用 Redis 存储和获取数据。
import redis
# 连接 Redis
r = redis.Redis(host='localhost', port=6379)
# 存储数据
r.set('name', 'Alice')
r.lpush('fruits', 'apple')
r.lpush('fruits', 'banana')
r.lpush('fruits', 'orange')
# 获取数据
name = r.get('name')
fruits = r.lrange('fruits', 0, -1)
print('Name:', name)
print('Fruits:', fruits)
该示例将 name 和 fruits 存储在 Redis 中,然后再从 Redis 中获取它们的值,并输出到控制台上。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python操作redis方法总结 - Python技术站