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

🔗 相关链接


📝 贡献指南

如果你想添加更多示例,请:

  1. 确保示例代码可以运行
  2. 添加详细的注释说明
  3. 包含完整的操作流程
  4. 提交 Pull Request

💡 提示: 更多详细示例请参考各语言客户端文档:

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏