Redis 是一个高性能的键值数据库,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。通过 Redis 提供的命令,你可以对数据进行高效的读取、写入、删除等操作。

常用 Redis 命令

以下是一些 Redis 中常用的命令,按类别进行组织:

1. 字符串命令(String Commands)

  • SET:设置一个键值对。 SET key value
  • GET:获取指定键的值。 GET key
  • DEL:删除指定的键。 DEL key
  • MSET:一次设置多个键值对。 MSET key1 value1 key2 value2
  • MGET:获取多个键的值。 MGET key1 key2
  • INCR:将指定键的值加一。 INCR key
  • DECR:将指定键的值减一。 DECR key
  • INCRBY:将指定键的值加上指定的增量。 INCRBY key increment
  • DECRBY:将指定键的值减去指定的减量。 DECRBY key decrement
  • APPEND:将给定的值追加到指定键的值后面。 APPEND key value

2. 哈希命令(Hash Commands)

  • HSET:为哈希表中的指定字段设置值。 HSET hash_name field value
  • HGET:获取哈希表中指定字段的值。 HGET hash_name field
  • HDEL:删除哈希表中的指定字段。 HDEL hash_name field
  • HGETALL:获取哈希表中所有字段和值。 HGETALL hash_name
  • HINCRBY:将哈希表中的指定字段的值加上指定的增量。 HINCRBY hash_name field increment
  • HKEYS:返回哈希表中的所有字段。 HKEYS hash_name
  • HVALS:返回哈希表中的所有值。 HVALS hash_name

3. 列表命令(List Commands)

  • LPUSH:将一个或多个值插入到列表的左侧(头部)。 LPUSH list_name value
  • RPUSH:将一个或多个值插入到列表的右侧(尾部)。 RPUSH list_name value
  • LPOP:从列表的左侧弹出一个元素。 LPOP list_name
  • RPOP:从列表的右侧弹出一个元素。 RPOP list_name
  • LRANGE:获取列表中指定范围的元素。 LRANGE list_name start stop
  • LLEN:获取列表的长度。 LLEN list_name
  • LREM:删除列表中指定数量的元素。 LREM list_name count value

4. 集合命令(Set Commands)

  • SADD:向集合添加一个或多个成员。 SADD set_name member
  • SREM:从集合中删除一个或多个成员。 SREM set_name member
  • SMEMBERS:返回集合中的所有成员。 SMEMBERS set_name
  • SISMEMBER:判断指定成员是否是集合的成员。 SISMEMBER set_name member
  • SCARD:返回集合的成员数。 SCARD set_name
  • SPOP:从集合中随机移除并返回一个元素。 SPOP set_name
  • SDIFF:返回多个集合的差集。 SDIFF set1 set2

5. 有序集合命令(Sorted Set Commands)

  • ZADD:向有序集合添加一个或多个成员,并为其指定分数。 ZADD zset_name score member
  • ZREM:从有序集合中移除一个或多个成员。 ZREM zset_name member
  • ZRANGE:返回有序集合中指定范围的成员(按分数排序)。 ZRANGE zset_name start stop
  • ZREVRANGE:返回有序集合中指定范围的成员(按分数反向排序)。 ZREVRANGE zset_name start stop
  • ZCARD:返回有序集合的成员数。 ZCARD zset_name
  • ZSCORE:获取有序集合中指定成员的分数。 ZSCORE zset_name member
  • ZINCRBY:为有序集合中的成员的分数加上增量。 ZINCRBY zset_name increment member

6. 键命令(Key Commands)

  • EXISTS:检查指定的键是否存在。 EXISTS key
  • DEL:删除一个或多个键。 DEL key
  • TTL:查看键的剩余生存时间(单位秒)。 TTL key
  • EXPIRE:为键设置过期时间(单位秒)。 EXPIRE key seconds
  • PERSIST:移除键的过期时间,使其永久有效。 PERSIST key
  • KEYS:查找所有符合给定模式的键。 KEYS pattern
  • FLUSHDB:删除当前数据库中的所有键。 FLUSHDB
  • FLUSHALL:删除所有数据库中的所有键。 FLUSHALL

7. 事务命令(Transaction Commands)

  • MULTI:开启事务。 MULTI
  • EXEC:执行事务中的所有命令。 EXEC
  • DISCARD:取消事务。 DISCARD
  • WATCH:监视一个或多个键的变化,事务开始前可以使用它来监控键值。 WATCH key

8. 发布/订阅命令(Pub/Sub Commands)

  • PUBLISH:向订阅的频道发送消息。 PUBLISH channel message
  • SUBSCRIBE:订阅一个或多个频道。 SUBSCRIBE channel
  • UNSUBSCRIBE:取消订阅一个或多个频道。 UNSUBSCRIBE channel

9. Redis 服务器命令

  • INFO:获取 Redis 服务器的各种信息。 INFO
  • MONITOR:实时监控 Redis 服务器的操作。 MONITOR
  • PING:检测 Redis 服务器是否正常运行。 PING
  • SLAVEOF:指定当前 Redis 实例成为另一个 Redis 实例的从服务器。 SLAVEOF host port
  • CLIENT LIST:返回客户端连接信息。 CLIENT LIST

10. 事务操作

Redis 支持通过事务操作来批量执行多个命令。常见的事务命令包括 MULTIEXECDISCARDWATCH

总结

Redis 提供了丰富的命令来支持高效的数据存储和操作。根据不同的需求,使用相应的数据类型命令可以实现更高效的数据存取和处理。掌握这些命令可以让你更高效地使用 Redis 提供的功能。