Redis命令如何快速使用?

Redis命令通过redis-cli或程序连接使用,支持字符串、哈希等数据类型的操作,常用命令如SET/GET存取值,INCR递增数字,EXPIRE设置过期时间。

Redis 是一个高性能的键值存储数据库,支持多种数据结构(如字符串、哈希、列表等),其命令通过 redis-cli 命令行工具或编程语言客户端执行,以下是核心命令分类及使用详解,所有语法均遵循 Redis 官方规范:

Redis命令如何快速使用?


通用命令

  1. KEYS pattern
    查找匹配模式的键(生产环境慎用,阻塞性能)。

    KEYS user:*  # 返回所有以"user:"开头的键
  2. DEL key [key ...]
    删除指定键。

    DEL user:1001 profile:1001
  3. EXPIRE key seconds
    设置键的过期时间(秒)。

    EXPIRE session_token 3600  # 1小时后过期
  4. TTL key
    查看键的剩余生存时间(秒)。

    TTL session_token  # 返回 -2 表示键不存在,-1 表示永不过期

字符串(Strings)

适用于缓存、计数器等场景。

  1. SET key value [EX seconds]
    设置键值对,支持过期时间。

    SET website:visits 0 EX 60  # 初始化为0,60秒后过期
  2. GET key
    获取键的值。

    GET website:visits  # 返回 "0"
  3. INCR key
    将键的值增1(原子操作)。

    INCR website:visits  # 值变为1
  4. MSET key value [key value ...]
    批量设置键值。

    MSET name "Alice" age 30 city "Paris"

哈希(Hashes)

存储对象属性,如用户信息。

  1. HSET key field value
    设置哈希中的字段值。

    Redis命令如何快速使用?

    HSET user:1001 name "Bob" email "bob@example.com"
  2. HGET key field
    获取哈希字段的值。

    HGET user:1001 name  # 返回 "Bob"
  3. HGETALL key
    获取哈希所有字段和值。

    HGETALL user:1001  # 返回字段列表和值
  4. HINCRBY key field increment
    增加哈希字段的数值。

    HINCRBY user:1001 score 5  # 分数增加5

列表(Lists)

实现队列、消息流等功能。

  1. LPUSH key element [element ...]
    从左侧插入元素(先进后出)。

    LPUSH messages "task1" "task2"  # 列表:["task2", "task1"]
  2. RPUSH key element [element ...]
    从右侧插入元素(先进先出)。

    RPUSH queue "job1" "job2"  # 列表:["job1", "job2"]
  3. LPOP key
    移除并返回左侧第一个元素。

    LPOP messages  # 返回 "task2"
  4. LRANGE key start stop
    获取列表片段(支持负数索引)。

    LRANGE queue 0 -1  # 返回所有元素

集合(Sets)

存储唯一元素,用于去重或标签。

  1. SADD key member [member ...]
    添加元素到集合。

    SADD tags "redis" "database" "cache"
  2. SMEMBERS key
    返回集合所有成员。

    Redis命令如何快速使用?

    SMEMBERS tags  # 返回无序的元素列表
  3. SINTER key [key ...]
    求多个集合的交集。

    SINTER tags1 tags2  # 返回共同拥有的标签
  4. SISMEMBER key member
    检查元素是否存在。

    SISMEMBER tags "redis"  # 存在返回1,否则0

有序集合(Sorted Sets)

带权重的集合,适用于排行榜。

  1. ZADD key score member
    添加带分数的成员。

    ZADD leaderboard 100 "Alice" 85 "Bob"
  2. ZRANGE key start stop [WITHSCORES]
    按分数升序返回成员(结合 WITHSCORES 显示分数)。

    ZRANGE leaderboard 0 -1 WITHSCORES  # 返回 ["Bob","85","Alice","100"]
  3. ZREVRANGE key start stop
    按分数降序返回成员(如排行榜)。

    ZREVRANGE leaderboard 0 0  # 返回第一名:"Alice"
  4. ZINCRBY key increment member
    增加成员的分数。

    ZINCRBY leaderboard 20 "Bob"  # Bob分数变为105

事务与管道

  1. 事务(MULTI/EXEC)
    批量执行命令(非原子性,中间可能失败)。

    MULTI
    SET balance:1001 500
    INCR user:count
    EXEC
  2. 管道(Pipeline)
    一次性发送多条命令(减少网络延迟)。

    # 在编程客户端中(例如Python):
    pipeline = redis_client.pipeline()
    pipeline.set("key1", "value1")
    pipeline.get("key2")
    results = pipeline.execute()

注意事项

  1. *生产环境规避 `KEYS **: 使用SCAN` 命令迭代查询(非阻塞)。
  2. 键命名规范
    建议使用 object_type:id:field 格式(如 user:1001:profile)。
  3. 内存管理
    定期检查内存占用(INFO memory),对大数据集分片存储。
  4. 持久化策略
    根据需求选择 RDB(快照)或 AOF(日志追加)。

最佳实践

  • 读写分离:读操作指向从节点(Replica),写操作指向主节点(Master)。
  • 连接池:复用客户端连接(如 Java 的 JedisPool)。
  • Lua 脚本:复杂操作使用 EVAL 保证原子性。
  • 监控工具:通过 redis-cli --statINFO 命令监控状态。

引用说明: 基于 Redis 官方文档(redis.io/commands)整理,所有命令语法和示例均经过 Redis 7.0 版本验证,建议开发者查阅官方文档获取最新细节,或使用 HELP 命令查看内置帮助(如 HELP SET)。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/33457.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月21日 08:42
下一篇 2025年6月21日 08:49

相关推荐

  • K文件与命令流为何存在差异?你的疑问有答案了!

    K文件是存储仿真模型参数和设置的静态数据文件,适用于批量处理;命令流是动态执行的指令序列,用于实时控制分析流程,适合交互操作,两者在格式、用途及执行方式上存在显著差异。

    2025年5月28日
    500
  • 如何在命令行中安全删除另一个操作系统?

    在双系统环境中,可通过磁盘管理工具或命令行(如diskpart、fdisk)删除目标系统所在分区,注意提前备份数据并修复引导,需管理员权限,操作前确认分区信息避免误删关键数据。

    2025年5月28日
    200
  • SQL命令写错了如何修改?

    SQL命令出错时,若未执行可直接编辑修正;若已执行小错,可通过事务ROLLBACK回滚或UPDATE修正;重大错误需利用备份恢复数据,根据错误发生阶段和严重性选择合适方案。

    2025年6月8日
    000
  • expand命令使用技巧?

    expand命令用于将文本文件中的制表符(Tab)替换为空格,便于格式化显示或处理,可指定制表符宽度或使用预设值,常配合管道处理其他命令的输出。

    2025年6月17日
    100
  • PS如何旋转图片?

    在Photoshop中使用旋转命令: ,1. **菜单栏旋转**:点击顶部菜单栏的“图像”˃“图像旋转”,选择预设角度或“任意角度”输入数值旋转整个画布。 ,2. **自由变换旋转**:选中图层后按 **Ctrl+T(Win)/ Cmd+T(Mac)**,鼠标移至框外变为弯曲箭头时拖动即可自由旋转图层,按住 **Shift** 键可15°递增旋转。

    2025年6月3日
    400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN