Redis核心命令大全与应用场景

Redis 命令大全:核心功能与使用场景

Redis 是一个高性能的键值存储系统,支持多种数据结构。以下分类整理了 Redis 的核心命令及其应用场景。

字符串(String)操作命令

SET key value 设置指定键的值,支持过期时间(EX/PX)和条件设置(NX/XX)。
GET key 获取键对应的值,适用于缓存或计数器场景。
INCR key 将键存储的数值增加1,常用于计数器或限流。
MSET key1 value1 key2 value2 批量设置多个键值对,提升写入效率。

哈希(Hash)操作命令

HSET key field value 设置哈希表中字段的值,适合存储对象属性。
HGET key field 获取哈希表中字段的值,避免全对象读取。
HGETALL key 返回哈希表所有字段和值,适用于对象序列化。
HDEL key field1 field2 删除哈希表中指定字段,支持批量操作。

列表(List)操作命令

LPUSH key value1 value2 将一个或多个值插入列表头部,实现消息队列。
RPOP key 移除并获取列表最后一个元素,适用于任务消费。
LRANGE key start stop 获取列表指定范围内的元素,支持分页查询。

集合(Set)操作命令

SADD key member1 member2 向集合添加一个或多个成员,用于去重存储。
SINTER key1 key2 返回多个集合的交集,适合共同好友计算。
SCARD key 获取集合的成员数,快速统计唯一值数量。

有序集合(Sorted Set)操作命令

ZADD key score1 member1 score2 member2 添加带分数的成员,实现排行榜。
ZRANGE key start stop [WITHSCORES] 按分数升序返回成员,支持分页。
ZREVRANK key member 返回成员的降序排名,适用于TopN查询。

键(Key)管理命令

DEL key1 key2 删除一个或多个键,支持批量操作。
EXPIRE key seconds 设置键的过期时间,用于临时数据管理。
KEYS pattern 查找匹配模式的键,生产环境慎用(阻塞风险)。

事务与脚本命令

MULTI 标记事务开始,后续命令进入队列。
EXEC 执行事务队列中的所有命令,保证原子性。
EVAL script numkeys key1 key2 arg1 arg2 执行Lua脚本,实现复杂逻辑。

持久化与集群命令

SAVE 同步保存数据到RDB文件,阻塞其他操作。
BGSAVE 后台异步保存数据,生产环境推荐使用。
CLUSTER INFO 查看集群状态信息,监控节点健康度。

性能优化技巧

  • 使用SCAN替代KEYS避免阻塞,语法为 SCAN cursor [MATCH pattern] [COUNT number]
  • 批量操作推荐PIPELINE,减少网络往返时间。
  • 大量数据删除使用UNLINK非阻塞删除(Redis 4.0+)。

典型应用场景代码示例

# 使用Redis实现分布式锁
import redis
r = redis.Redis()

def acquire_lock(lock_name, expire=10):
    return r.set(lock_name, "locked", nx=True, ex=expire)

def release_lock(lock_name):
    r.delete(lock_name)
# 使用有序集合实现延迟队列
def add_delayed_task(task_id, delay_time):
    r.zadd("delayed_queue", {task_id: time.time() + delay_time})

def process_delayed_tasks():
    while True:
        tasks = r.zrangebyscore("delayed_queue", 0, time.time(), start=0, num=1)
        if not tasks:
            time.sleep(1)
            continue
        task_id = tasks[0]
        if r.zrem("delayed_queue", task_id):
            handle_task(task_id)

以上命令覆盖了Redis 90%以上的日常使用场景,实际应用中需结合具体业务选择合适的数据结构和命令组合。

BbS.okacop050.info/PoSt/1120_781891.HtM
BbS.okacop051.info/PoSt/1120_933469.HtM
BbS.okacop052.info/PoSt/1120_322146.HtM
BbS.okacop053.info/PoSt/1120_285147.HtM
BbS.okacop054.info/PoSt/1120_189839.HtM
BbS.okacop055.info/PoSt/1120_090660.HtM
BbS.okacop056.info/PoSt/1120_292667.HtM
BbS.okacop057.info/PoSt/1120_859745.HtM
BbS.okacop058.info/PoSt/1120_119176.HtM
BbS.okacop059.info/PoSt/1120_247934.HtM
BbS.okacop050.info/PoSt/1120_557035.HtM
BbS.okacop051.info/PoSt/1120_689446.HtM
BbS.okacop052.info/PoSt/1120_009501.HtM
BbS.okacop053.info/PoSt/1120_418390.HtM
BbS.okacop054.info/PoSt/1120_791451.HtM
BbS.okacop055.info/PoSt/1120_803688.HtM
BbS.okacop056.info/PoSt/1120_044700.HtM
BbS.okacop057.info/PoSt/1120_997413.HtM
BbS.okacop058.info/PoSt/1120_483663.HtM
BbS.okacop059.info/PoSt/1120_851095.HtM
BbS.okacop050.info/PoSt/1120_511397.HtM
BbS.okacop051.info/PoSt/1120_875507.HtM
BbS.okacop052.info/PoSt/1120_671643.HtM
BbS.okacop053.info/PoSt/1120_093364.HtM
BbS.okacop054.info/PoSt/1120_562442.HtM
BbS.okacop055.info/PoSt/1120_984597.HtM
BbS.okacop056.info/PoSt/1120_224013.HtM
BbS.okacop057.info/PoSt/1120_371567.HtM
BbS.okacop058.info/PoSt/1120_779079.HtM
BbS.okacop059.info/PoSt/1120_969521.HtM
BbS.okacop050.info/PoSt/1120_718322.HtM
BbS.okacop051.info/PoSt/1120_936645.HtM
BbS.okacop052.info/PoSt/1120_792493.HtM
BbS.okacop053.info/PoSt/1120_480772.HtM
BbS.okacop054.info/PoSt/1120_079821.HtM
BbS.okacop055.info/PoSt/1120_929899.HtM
BbS.okacop056.info/PoSt/1120_485897.HtM
BbS.okacop057.info/PoSt/1120_140856.HtM
BbS.okacop058.info/PoSt/1120_151122.HtM
BbS.okacop059.info/PoSt/1120_013025.HtM
BbS.okacop050.info/PoSt/1120_234130.HtM
BbS.okacop051.info/PoSt/1120_642152.HtM
BbS.okacop052.info/PoSt/1120_882949.HtM
BbS.okacop053.info/PoSt/1120_103254.HtM
BbS.okacop054.info/PoSt/1120_507707.HtM
BbS.okacop055.info/PoSt/1120_374793.HtM
BbS.okacop056.info/PoSt/1120_403442.HtM
BbS.okacop057.info/PoSt/1120_593814.HtM
BbS.okacop058.info/PoSt/1120_334860.HtM
BbS.okacop059.info/PoSt/1120_210750.HtM
BbS.okacop060.info/PoSt/1120_173352.HtM
BbS.okacop061.info/PoSt/1120_909759.HtM
BbS.okacop062.info/PoSt/1120_923388.HtM
BbS.okacop063.info/PoSt/1120_338793.HtM
BbS.okacop065.info/PoSt/1120_800814.HtM
BbS.okacop066.info/PoSt/1120_244001.HtM
BbS.okacop067.info/PoSt/1120_535155.HtM
BbS.okacop068.info/PoSt/1120_185930.HtM
BbS.okacop069.info/PoSt/1120_617482.HtM
BbS.okacop070.info/PoSt/1120_337990.HtM
BbS.okacop060.info/PoSt/1120_899145.HtM
BbS.okacop061.info/PoSt/1120_568599.HtM
BbS.okacop062.info/PoSt/1120_374367.HtM
BbS.okacop063.info/PoSt/1120_069054.HtM
BbS.okacop065.info/PoSt/1120_836260.HtM
BbS.okacop066.info/PoSt/1120_326310.HtM
BbS.okacop067.info/PoSt/1120_330233.HtM
BbS.okacop068.info/PoSt/1120_623363.HtM
BbS.okacop069.info/PoSt/1120_999136.HtM
BbS.okacop070.info/PoSt/1120_232056.HtM
BbS.okacop060.info/PoSt/1120_548677.HtM
BbS.okacop061.info/PoSt/1120_429524.HtM
BbS.okacop062.info/PoSt/1120_820479.HtM
BbS.okacop063.info/PoSt/1120_916454.HtM
BbS.okacop065.info/PoSt/1120_190522.HtM
BbS.okacop066.info/PoSt/1120_332211.HtM
BbS.okacop067.info/PoSt/1120_347114.HtM
BbS.okacop068.info/PoSt/1120_601182.HtM
BbS.okacop069.info/PoSt/1120_521772.HtM
BbS.okacop070.info/PoSt/1120_895880.HtM

#牛客AI配图神器#

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:09
字节跳动 客户端 32k * 15 本科其他
点赞 评论 收藏
分享
【面试问题】1. 请先做一下自我介绍。项目6. 在模型应用侧,你们对模型做过哪些优化或调整?7. 如果要做领域特定的优化,你了解哪些通用方法和技术原理?8. 针对你们的场景,提示工程可以深入做哪些事情?9. RAG 的原理能否介绍一下?10. 向量搜索怎么去提高效率?11. 目前微调有哪些方法?12. 综合考虑效果与时间成本,哪种微调方法比较好?还有哪些额外措施能进一步降低时间成本?13. 从安全视角看,大模型应用存在哪些安全风险或威胁场景?14. 如果从安全去做能力治理、防护和检测,有哪些思路?15. 如果要做一个在线的恶意分类模型,有什么思路或注意事项?16. 你们用过哪些框架或平台搭建大模型应用?17. 平时开发中常用的开发语言、框架有哪些?18. C++ 对象在内存中的结构大概是怎样的?19. 内存对齐的作用是什么?20. CPU 为什么会因为内存不对齐而取两次数据?原理是什么?21. Go 里的协程与其他线程或进程的差异是什么?22. 哈希表的查询效率/时间复杂度是多少?23. 在 Go 里如何并发安全地访问哈希表?24. 如果要做性能优化,有哪些办法?25. 有哪些通用方法可以进一步减小锁的粒度?26. 你们有哪些静态或动态手段/工具能提前避免内存泄漏(UAF)问题?28. 除此之外,还有哪些你觉得做得比较好、有亮点的项目?手撕:27. 合并两个有序单向链表
发面经攒人品
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-19 20:17
已编辑
字节跳动抖音电商 前端开发 24*15 大专
奋斗的小码农a:狗史电商,6面挂真私募了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务