Redis常用命令及操作 – wiki基地

Redis常用命令及操作详解

Redis是一个开源的内存数据结构存储系统,可以用作数据库、缓存和消息中间件。它支持多种数据结构,如字符串、哈希、列表、集合、有序集合,并提供丰富的命令集进行操作。本文将详细介绍Redis的常用命令及其操作,涵盖数据结构的增删改查、高级特性以及一些实用技巧。

一、 连接与服务器管理

  • PING: 测试连接是否存活。返回 PONG 表示连接正常。
  • ECHO <message>: 打印传入的消息。用于调试和测试。
  • SELECT <db>: 选择数据库。Redis默认有16个数据库,编号0-15。
  • INFO: 获取服务器信息,包括内存使用、客户端连接、版本等。
  • CONFIG GET <parameter>: 获取指定配置参数的值。
  • CONFIG SET <parameter> <value>: 设置指定配置参数的值。
  • FLUSHALL: 清空所有数据库中的数据。慎用!
  • FLUSHDB: 清空当前数据库中的数据。慎用!
  • CLIENT LIST: 列出所有连接的客户端信息。
  • SHUTDOWN: 关闭服务器。

二、 字符串(String)

  • SET <key> <value>: 设置键值对。
  • GET <key>: 获取键对应的值。
  • MGET <key1> <key2> ...: 批量获取多个键的值。
  • SETNX <key> <value>: 当键不存在时才设置值。
  • SETEX <key> <seconds> <value>: 设置键值对并设置过期时间(秒)。
  • PSETEX <key> <milliseconds> <value>: 设置键值对并设置过期时间(毫秒)。
  • APPEND <key> <value>: 在键值后追加值。
  • STRLEN <key>: 获取键值的长度。
  • INCR <key>: 将键值递增1,键值必须是数字。
  • DECR <key>: 将键值递减1,键值必须是数字。
  • INCRBY <key> <increment>: 将键值递增指定的增量。
  • DECRBY <key> <decrement>: 将键值递减指定的减量。
  • GETRANGE <key> <start> <end>: 获取键值的一部分子字符串。

三、 哈希(Hash)

  • HSET <key> <field> <value>: 设置哈希字段的值。
  • HGET <key> <field>: 获取哈希字段的值。
  • HMGET <key> <field1> <field2> ...: 批量获取多个哈希字段的值。
  • HSETNX <key> <field> <value>: 当字段不存在时才设置值。
  • HMSET <key> <field1> <value1> <field2> <value2> ...: 批量设置多个哈希字段的值。
  • HGETALL <key>: 获取哈希表中所有的字段和值。
  • HDEL <key> <field1> <field2> ...: 删除一个或多个哈希字段。
  • HEXISTS <key> <field>: 检查哈希字段是否存在。
  • HLEN <key>: 获取哈希表中字段的数量。
  • HINCRBY <key> <field> <increment>: 将哈希字段值递增指定的增量。

四、 列表(List)

  • LPUSH <key> <value1> <value2> ...: 将值插入列表头部。
  • RPUSH <key> <value1> <value2> ...: 将值插入列表尾部。
  • LRANGE <key> <start> <stop>: 获取列表指定范围内的元素。
  • LINDEX <key> <index>: 获取列表指定索引的元素。
  • LLEN <key>: 获取列表的长度。
  • LPOP <key>: 移除并返回列表头部元素。
  • RPOP <key>: 移除并返回列表尾部元素。
  • LSET <key> <index> <value>: 设置列表指定索引的元素值。
  • LTRIM <key> <start> <stop>: 保留列表指定范围内的元素,其余元素删除。
  • BLPOP <key1> <key2> ... <timeout>: 阻塞式弹出列表头部元素。
  • BRPOP <key1> <key2> ... <timeout>: 阻塞式弹出列表尾部元素。

五、 集合(Set)

  • SADD <key> <member1> <member2> ...: 将元素添加到集合中。
  • SMEMBERS <key>: 获取集合中的所有元素。
  • SISMEMBER <key> <member>: 检查元素是否在集合中。
  • SCARD <key>: 获取集合的基数(元素数量)。
  • SREM <key> <member1> <member2> ...: 从集合中移除元素。
  • SRANDMEMBER <key> <count>: 随机获取集合中的元素。
  • SPOP <key>: 随机移除并返回集合中的一个元素。
  • SMOVE <source> <destination> <member>: 将元素从一个集合移动到另一个集合。
  • SINTER <key1> <key2> ...: 获取多个集合的交集。
  • SUNION <key1> <key2> ...: 获取多个集合的并集。
  • SDIFF <key1> <key2> ...: 获取多个集合的差集。

六、 有序集合(Sorted Set)

  • ZADD <key> <score1> <member1> <score2> <member2> ...: 将元素添加到有序集合中,并设置分数。
  • ZRANGE <key> <start> <stop> [WITHSCORES]: 获取指定范围内的元素,可选 WITHSCORES 获取分数。
  • ZREVRANGE <key> <start> <stop> [WITHSCORES]: 获取指定范围内的元素(倒序),可选 WITHSCORES 获取分数。
  • ZSCORE <key> <member>: 获取元素的分数。
  • ZRANK <key> <member>: 获取元素的排名(升序)。
  • ZREVRANK <key> <member>: 获取元素的排名(降序)。
  • ZCARD <key>: 获取有序集合的基数(元素数量)。
  • ZREM <key> <member1> <member2> ...: 从有序集合中移除元素。
  • ZINCRBY <key> <increment> <member>: 将元素的分数递增指定的增量。
  • ZRANGEBYSCORE <key> <min> <max> [WITHSCORES] [LIMIT <offset> <count>]: 获取指定分数范围内的元素。
  • ZREVRANGEBYSCORE <key> <max> <min> [WITHSCORES] [LIMIT <offset> <count>]: 获取指定分数范围内的元素(倒序)。

七、 事务

  • MULTI: 开始一个事务。
  • EXEC: 执行事务中的所有命令。
  • DISCARD: 取消事务。
  • WATCH <key1> <key2> ...: 监视一个或多个键,如果在事务执行前键被修改,则事务会被取消。
  • UNWATCH: 取消所有键的监视。

八、 键管理

  • KEYS <pattern>: 查找所有符合给定模式的键。
  • DEL <key1> <key2> ...: 删除一个或多个键。
  • EXISTS <key>: 检查键是否存在.
  • EXPIRE <key> <seconds>: 设置键的过期时间(秒)。
  • PEXPIRE <key> <milliseconds>: 设置键的过期时间(毫秒)。
  • TTL <key>: 获取键的剩余过期时间(秒)。
  • PTTL <key>: 获取键的剩余过期时间(毫秒)。
  • PERSIST <key>: 移除键的过期时间。
  • TYPE <key>: 获取键的数据类型。
  • RENAME <key> <newkey>: 重命名键。
  • RENAMENX <key> <newkey>: 当新键不存在时才重命名键。

九、 发布/订阅

  • PUBLISH <channel> <message>: 向指定频道发布消息.
  • SUBSCRIBE <channel1> <channel2> ...: 订阅一个或多个频道.
  • PSUBSCRIBE <pattern1> <pattern2> ...: 订阅符合给定模式的频道.
  • UNSUBSCRIBE <channel1> <channel2> ...: 取消订阅一个或多个频道.
  • PUNSUBSCRIBE <pattern1> <pattern2> ...: 取消订阅符合给定模式的频道.

十、 其他常用命令

  • SORT <key> [BY <pattern>] [LIMIT <offset> <count>] [GET <pattern> ...] [ASC | DESC] [ALPHA] [STORE <destination>]: 对列表、集合或有序集合进行排序。
  • SCAN <cursor> [MATCH <pattern>] [COUNT <count>]: 增量迭代获取键.

本文涵盖了Redis的大部分常用命令,但并非全部。 希望通过本文的介绍,读者能够对Redis的命令集有更深入的理解,并在实际应用中灵活运用。 建议读者查阅官方文档以获取更完整的信息和最新的功能更新. 熟练掌握这些命令将有助于更高效地使用Redis,并构建更强大的应用程序。

发表评论

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

滚动至顶部