第二章:数据类型¶
String 字符串¶
基本操作¶
数值操作¶
过期时间¶
Hash 哈希¶
基本操作¶
数值操作¶
应用场景¶
List 列表¶
基本操作¶
LPUSH list "a" "b" # 左侧插入
RPUSH list "c" "d" # 右侧插入
LPOP list # 左侧弹出
RPOP list # 右侧弹出
LRANGE list 0 -1 # 获取所有元素
LLEN list # 列表长度
阻塞操作¶
应用场景¶
# 消息队列
r.rpush('queue', 'task1')
task = r.lpop('queue')
# 最新列表
r.lpush('latest', 'item1')
r.ltrim('latest', 0, 99) # 只保留最新100条
Set 集合¶
基本操作¶
集合运算¶
SADD set1 "a" "b" "c"
SADD set2 "b" "c" "d"
SINTER set1 set2 # 交集
SUNION set1 set2 # 并集
SDIFF set1 set2 # 差集
应用场景¶
# 标签系统
r.sadd('user:1:tags', 'python', 'redis', 'mysql')
r.sadd('user:2:tags', 'python', 'vue')
# 共同标签
common = r.sinter('user:1:tags', 'user:2:tags')
ZSet 有序集合¶
基本操作¶
ZADD rank 100 "张三" 90 "李四" 80 "王五"
ZSCORE rank "张三" # 获取分数
ZRANK rank "张三" # 获取排名(升序)
ZREVRANK rank "张三" # 获取排名(降序)
ZRANGE rank 0 -1 # 获取范围(升序)
ZREVRANGE rank 0 9 # 获取前10名(降序)
ZREM rank "张三"
范围操作¶
应用场景¶
# 排行榜
r.zadd('leaderboard', {'user1': 100, 'user2': 200, 'user3': 150})
top10 = r.zrevrange('leaderboard', 0, 9, withscores=True)
小结¶
本章学习了:
- ✅ String 字符串
- ✅ Hash 哈希
- ✅ List 列表
- ✅ Set 集合
- ✅ ZSet 有序集合
下一章¶
第三章:缓存策略 - 学习缓存策略。