Redis 示例集合
Redis 示例集合
🚧 此页面正在建设中
预计完成时间:2026年7月
当前进度:规划阶段
📋 规划内容
本页面将包含Redis常见应用场景的完整代码示例,帮助开发者快速上手。
🎯 示例分类
1. 缓存应用
1.1 简单缓存
REDIS
# 设置缓存
SET cache:user:1 '{"name":"Alice","age":25}'
EXPIRE cache:user:1 3600
# 获取缓存
GET cache:user:1
# 删除缓存
DEL cache:user:1
1.2 缓存穿透防护
REDIS
# 缓存空值
SET cache:user:9999 "NULL" EX 60
# 检查缓存
GET cache:user:9999
2. 会话管理
2.1 用户会话
REDIS
# 创建会话
SET session:token:abc123 '{"user_id":1,"role":"admin"}' EX 1800
# 验证会话
GET session:token:abc123
# 延长会话
EXPIRE session:token:abc123 1800
# 销毁会话
DEL session:token:abc123
3. 计数器
3.1 文章阅读数
REDIS
# 增加阅读数
INCR article:123:views
# 获取阅读数
GET article:123:views
3.2 点赞数
REDIS
# 点赞
INCR article:123:likes
# 取消点赞
DECR article:123:likes
4. 排行榜
4.1 游戏排行榜
REDIS
# 更新玩家分数
ZADD leaderboard 1500 player:1
ZADD leaderboard 2300 player:2
ZADD leaderboard 1800 player:3
# 获取前10名
ZREVRANGE leaderboard 0 9 WITHSCORES
# 获取玩家排名
ZREVRANK leaderboard player:1
# 增加分数
ZINCRBY leaderboard 100 player:1
5. 消息队列
5.1 简单队列
REDIS
# 入队
RPUSH queue:tasks "task1"
RPUSH queue:tasks "task2"
# 出队
LPOP queue:tasks
5.2 延迟队列
REDIS
# 添加延迟任务(分数为执行时间戳)
ZADD delay:queue 1719129600 "task:1"
# 获取到期任务
ZRANGEBYSCORE delay:queue 0 1719129600
6. 社交关系
6.1 好友列表
REDIS
# 添加好友
SADD user:1:friends user:2 user:3
SADD user:2:friends user:1 user:4
# 获取共同好友
SINTER user:1:friends user:2:friends
# 获取可能认识的人
SDIFF user:2:friends user:1:friends
6.2 关注关系
REDIS
# 关注
SADD user:1:following user:2
SADD user:2:followers user:1
# 取消关注
SREM user:1:following user:2
SREM user:2:followers user:1
7. 购物车
7.1 使用哈希
REDIS
# 添加商品
HSET cart:user:1 product:101 2
HSET cart:user:1 product:102 1
# 修改数量
HSET cart:user:1 product:101 3
# 删除商品
HDEL cart:user:1 product:102
# 获取购物车
HGETALL cart:user:1
8. 分布式锁
8.1 简单锁
REDIS
# 获取锁
SET lock:resource "locked" NX EX 10
# 释放锁
DEL lock:resource
9. 限流
9.1 简单计数器限流
REDIS
# 检查当前计数
GET limit:user:1:api
# 增加计数
INCR limit:user:1:api
EXPIRE limit:user:1:api 60
10. 实时统计
10.1 UV统计
REDIS
# 使用HyperLogLog
PFADD uv:20260623 user:1 user:2 user:3
# 获取UV
PFCOUNT uv:20260623
10.2 在线用户
REDIS
# 用户上线
SADD online:users user:1
# 用户下线
SREM online:users user:1
# 获取在线人数
SCARD online:users
🔗 相关链接
📝 贡献指南
如果你想添加更多示例,请:
- 确保示例代码可以运行
- 添加详细的注释说明
- 包含完整的操作流程
- 提交 Pull Request
💡 提示: 更多详细示例请参考各语言客户端文档:
- Python: redis-py 文档
- Java: Jedis 文档
- Node.js: ioredis 文档



