当前位置: 首页 > news >正文

Redis常用命令指南

一、核心数据结构操作

1. 字符串(String)

命令 参数 说明 示例
SET key value [EX seconds] 设置键值 SET user:1 "Alice" EX 60 (带过期时间)
GET key 获取值 GET user:1
INCR key 原子递增 INCR page_views
MSET key1 value1 [key2 value2...] 批量设置 MSET a 1 b 2
GETRANGE key start end 截取子串 GETRANGE msg 0 4

2. 哈希(Hash)

命令 参数 说明 示例
HSET key field value 设置字段 HSET user:1000 name Bob
HGETALL key 获取所有字段 HGETALL user:1000
HINCRBY key field increment 数字递增 HINCRBY product:100 stock -1
HDEL key field [field...] 删除字段 HDEL user:1000 phone

3. 列表(List)

命令 参数 说明 示例
LPUSH key value [value...] 左端插入 LPUSH tasks "task1"
RPOP key 右端弹出 RPOP tasks
LRANGE key start stop 范围查询 LRANGE messages 0 -1 (查询全部)
BLPOP key [key...] timeout 阻塞左弹出 BLPOP alerts 30

4. 集合(Set)

命令 参数 说明 示例
SADD key member [member...] 添加元素 SADD tags "redis" "db"
SINTER key [key...] 求交集 SINTER group1 group2
SUNION key [key...] 求并集 SUNION all_users
SPOP key [count] 随机移除 SPOP lottery 3

5. 有序集合(Sorted Set)

命令 参数 说明 示例
ZADD key [NX\ XX] score member 添加元素 ZADD leaderboard 100 "PlayerA"
ZRANGE key start stop [WITHSCORES] 范围查询 ZRANGE leaderboard 0 2 WITHSCORES
ZREVRANK key member 倒序排名 ZREVRANK leaderboard "PlayerB"

二、通用操作命令

1. 键管理

命令 参数 说明 使用建议
KEYS pattern 查找键 避免生产环境使用,改用SCAN
DEL key [key...] 删除键 DEL user:1000
EXISTS key 键是否存在 EXISTS cache_key
EXPIRE key seconds 设置过期时间 EXPIRE session:123 1800
TTL key 查看剩余时间 TTL temp_data

2. 批量操作

MULTI            -- 开启事务
SET a 10
INCR b
EXEC             -- 提交事务WATCH key        -- 乐观锁监控
 

三、服务器管理命令

1. 连接控制

命令 说明 示例
AUTH 密码认证 AUTH mypassword
SELECT 选择数据库 SELECT 1 (0-15)
CLIENT LIST 查看连接 排查连接泄露

2. 状态监控

命令 说明 输出解析
INFO 服务器信息 INFO memory 查看内存使用
CONFIG GET 获取配置项 CONFIG GET maxmemory
MONITOR 实时命令监控 调试时使用,影响性能

3. 持久化操作

命令 说明 注意事项
SAVE 同步保存 阻塞主线程
BGSAVE 后台保存 检查日志是否完成
LASTSAVE 最后保存时间 返回Unix时间戳

四、高级功能命令

1. 发布订阅

SUBSCRIBE news   -- 订阅频道
PUBLISH news "Redis 7 released!"  -- 发布消息

2. Lua脚本

EVAL "return redis.call('GET', KEYS[1])" 1 mykey

3. 地理空间

GEOADD cities 116.405285 39.904989 "Beijing"
GEOSEARCH cities FROMMEMBER Beijing BYRADIUS 200 km
 

五、生产环境建议

  1. 危险命令禁用

    rename-command FLUSHALL ""     -- 禁用清库命令
    rename-command KEYS "HIDDEN_KEYS"
  2. 内存优化

    CONFIG SET maxmemory 2gb       -- 设置内存上限
    CONFIG SET maxmemory-policy allkeys-lru  -- 设置淘汰策略
  3. 连接管理

    CONFIG SET timeout 300        -- 设置空闲超时
    CLIENT KILL addr 127.0.0.1:3456 -- 断开指定连接

六、命令速查技巧

  1. 帮助查询

    HELP @string       -- 查看字符串命令组
    HELP SET           -- 查看具体命令用法
  2. 模式匹配

    SCAN 0 MATCH user:* COUNT 100  -- 安全遍历键
  3. 管道加速

    echo -e "SET a 1\nINCR a\nGET a" | redis-cli --pipe
http://www.gsyq.cn/news/26156.html

相关文章:

  • 2025 年塑胶跑道厂家最新推荐排行榜:聚焦优质企业核心优势,助力采购决策
  • 2025年10月益生菌厂家评价榜:五强排名与场景化选购建议
  • 吴恩达深度学习课程一:神经网络和深度学习 第三周:浅层神经网络 课后作业和代码实践
  • Gitee DevOps平台:解码中国企业数字化转型的加速引擎
  • 详细介绍:基于Python+hive+hadoop+Spark的新能源汽车销售数据分析系统大数据可视化分析毕业设计项目源码
  • ASP.NET CORE MVC用时分析工具MiniProfiler
  • Spring 基础核心 - SpringMVC 入门与请求流程 - 实践
  • 2025年10月中国遗产继承律师推荐榜:盈科陈珊珊领衔实力对比
  • 2025年中国国际健康营养博览会(NHNE):深度盘点全球营养产业新坐标
  • unity 读取PPT显现到屏幕功能
  • 文档智能处理桌面软件开源
  • 万象EXCEL开发(十)excel 高级混合查询 ——东方仙盟金丹期 - 教程
  • za3J5cHRvc+WvhueggeWOn+aWhw
  • 五自由度机械臂阻抗控制下的力跟踪
  • uploads-lab通关攻略
  • 初始化vue3项目和打包vue3项目
  • Continuation Passing Style 连续传递样式
  • Bean 生命周期的关键阶段和详细流程
  • https://juejin.cn/post/7529730683963588627
  • PCB布线一定不能走直角吗?一个或许有些离经叛道又颠覆常识的答案
  • 替代ftp的文件传输协议:提升数据安全与传输效率的新选择
  • Gitee DevOps:中国企业的研发效能加速器
  • 软件中版本号V1.0.0含义
  • LabVIEW继电保护检测 - 教程
  • 数据安全交换系统介绍及其应用场景分析
  • DBeaver 设置语言为中文
  • 国内开发者如何选择最适合的代码管理工具?Gitee、GitHub、Bitbucket横向评测
  • 2025国产ITSM厂商选型指南:聚焦五大ITSM平台,赋能企业数字化运维
  • 理解C++20的革命特性——协程支持1 - 实践
  • 飞驰云联亮相军工数字化转型发展峰会 共筑军工数字生态新范式