艺术家网站建设中企业网站建设的策划初期的一些误区,在线排名优化,网络建设可行性分析,鹿泉营销型网站制作价格低Redis 是一个高性能的内存键值数据库#xff0c;支持多种数据结构#xff08;字符串、列表、哈希、集合等#xff09;#xff0c;常用于缓存、消息队列和实时数据处理。Python 通过 redis-py 库与 Redis 交互。 核心功能
内存存储#xff1a;数据存储在内存中#xff0c… Redis 是一个高性能的内存键值数据库支持多种数据结构字符串、列表、哈希、集合等常用于缓存、消息队列和实时数据处理。Python 通过 redis-py 库与 Redis 交互。 核心功能
内存存储数据存储在内存中读写速度极快微秒级持久化选项支持 RDB 快照和 AOF 日志两种持久化方式数据结构丰富 字符串Strings哈希Hashes列表Lists集合Sets有序集合Sorted Sets流Streams 高可用支持主从复制和 Redis Sentinel Python 操作 Redis 示例
1. 安装库
pip install redis2. 基础操作
import redis# 连接Redis默认localhost:6379
r redis.Redis()# 字符串操作
r.set(name, Alice) # 设置键值
print(r.get(name)) # 输出: bAlice二进制格式
print(r.get(name).decode()) # 输出: Alice转为字符串# 设置过期时间30秒
r.setex(temp_data, 30, expiring soon)3. 哈希操作存储对象
# 存储用户信息
user_data {name: Bob, age: 28, email: bobexample.com}
r.hset(user:1001, mappinguser_data)# 获取字段
print(r.hget(user:1001, name)) # bBob
print(r.hgetall(user:1001)) # {bname: bBob, bage: b28, ...}4. 列表操作消息队列
# 向左添加元素
r.lpush(tasks, task1, task2) # 向右添加元素
r.rpush(tasks, task3) # 弹出元素
task r.rpop(tasks) # 获取并移除最右侧元素
print(task) # btask35. 发布订阅
# 发布者
r.publish(news_channel, Breaking news!)# 订阅者需在另一个进程/线程运行
pubsub r.pubsub()
pubsub.subscribe(news_channel)
for message in pubsub.listen():if message[type] message:print(message[data]) # bBreaking news!6. 管道操作批量执行
pipe r.pipeline()
pipe.set(counter, 100)
pipe.incr(counter) # 1
pipe.incrby(counter, 50) # 50
result pipe.execute()
print(result) # [True, 101, 151]典型应用场景
场景使用方式缓存存储数据库查询结果会话存储保存用户登录状态排行榜使用有序集合Sorted Set限流系统INCR EXPIRE 实现请求计数实时消息推送发布订阅模式 注意事项
内存管理定期监控内存使用避免溢出持久化配置根据需求选择 RDB/AOF 或混合模式连接池使用连接池提升性能pool redis.ConnectionPool(max_connections10)
r redis.Redis(connection_poolpool)集群支持大规模部署使用 Redis Cluster 官方文档redis-py 文档 Redis 命令参考Redis Commands 通过合理使用 Redis可显著提升 Python 应用的性能尤其适合高并发读写场景。