Redis 提供了许多命令用于在内存中存储和检索数据。以下是一些常用的 Redis 命令,它们涵盖了各种功能,包括字符串、列表、集合、有序集合、哈希等数据结构的操作。
在 Redis 中,字符串是最简单的数据类型之一,它的值可以是文本、数字或者二进制数据。以下是一些常用的字符串操作命令:
SET key value
SET mykey "Hello"
GET key
GET mykey
(返回 “Hello”)MSET key value [key value ...]
MSET key1 "Hello" key2 "World"
MGET key [key ...]
MGET key1 key2
(返回 “Hello” 和 “World”)APPEND key value
APPEND mykey " World"
STRLEN key
STRLEN mykey
(返回 11)INCR key
key
的值是一个整数,执行 INCR key
将其增加 1。DECR key
key
的值是一个整数,执行 DECR key
将其减少 1。INCRBY key increment
INCRBY counter 5
(如果 counter
的值是 3,执行后变成 8)DECRBY key decrement
DECRBY counter 3
(如果 counter
的值是 8,执行后变成 5)这些命令覆盖了常见的字符串操作,你可以根据具体的需求选择合适的命令。在使用 Redis 时,要注意合理使用字符串和其他数据结构,以充分发挥 Redis 的性能优势。
在 Redis 中,列表是一个有序的字符串元素集合,它支持在头部和尾部快速地添加、删除元素。以下是一些常用的列表操作命令:
LPUSH key value [value ...]
LPUSH mylist "world" "hello"
(在列表 mylist
的头部插入两个值)RPUSH key value [value ...]
RPUSH mylist "hello" "world"
(在列表 mylist
的尾部插入两个值)LPOP key
LPOP mylist
(移除并返回列表 mylist
的头元素)RPOP key
RPOP mylist
(移除并返回列表 mylist
的尾元素)LRANGE key start stop
LRANGE mylist 0 1
(获取列表 mylist
中索引为 0 到 1 的元素)LINDEX key index
LINDEX mylist 1
(获取列表 mylist
中索引为 1 的元素)LLEN key
LLEN mylist
(返回列表 mylist
的长度)LREM key count value
LREM mylist 2 "hello"
(从列表 mylist
中移除值为 “hello” 的前两个元素)LTRIM key start stop
LTRIM mylist 0 1
(保留列表 mylist
中索引为 0 到 1 的元素,移除其他元素)这些列表操作命令使你能够在 Redis 中灵活地处理有序的元素集合。你可以根据需要选择适当的命令执行插入、删除、获取等操作。
在 Redis 中,集合是一个无序、唯一的元素集合。Redis 提供了一系列集合操作命令,用于执行诸如添加成员、移除成员、判断成员是否存在等操作。以下是一些常用的集合操作命令:
SADD key member [member ...]
SADD myset "member1" "member2"
(向集合 myset
中添加两个成员)SMEMBERS key
SMEMBERS myset
(返回集合 myset
中的所有成员)SREM key member [member ...]
SREM myset "member1"
(从集合 myset
中移除成员 “member1”)SISMEMBER key member
SISMEMBER myset "member1"
(检查成员 “member1” 是否在集合 myset
中)SCARD key
SCARD myset
(返回集合 myset
的元素数量)SUNION key [key ...]
SUNION set1 set2
(返回 set1
和 set2
的并集)SINTER key [key ...]
SINTER set1 set2
(返回 set1
和 set2
的交集)SDIFF key [key ...]
SDIFF set1 set2
(返回 set1
相对于 set2
的差集)这些集合操作命令允许你以灵活的方式管理无序的唯一元素集合。你可以根据需要使用这些命令执行添加、移除、判断成员存在等操作。
在 Redis 中,有序集合(Sorted Set)是一种集合数据类型,其中的每个成员都关联一个分数(score),通过分数可以对成员进行排序。以下是一些常用的有序集合操作命令:
ZADD key score member [score member ...]
ZADD myzset 1 "one" 2 "two"
(向有序集合 myzset
中添加两个成员,分数分别为 1 和 2)ZRANGE key start stop [WITHSCORES]
ZRANGE myzset 0 1 WITHSCORES
(返回有序集合 myzset
中排名为 0 到 1 的成员及其分数)ZREVRANGE key start stop [WITHSCORES]
ZREVRANGE myzset 0 1 WITHSCORES
(返回有序集合 myzset
中排名为 0 到 1 的成员及其分数,按分数递减排序)ZSCORE key member
ZSCORE myzset "one"
(返回有序集合 myzset
中成员 “one” 的分数)ZREM key member [member ...]
ZREM myzset "one"
(从有序集合 myzset
中移除成员 “one”)ZINCRBY key increment member
ZINCRBY myzset 2 "one"
(将有序集合 myzset
中成员 “one” 的分数增加 2)ZCARD key
ZCARD myzset
(返回有序集合 myzset
的元素数量)ZRANK key member
ZRANK myzset "one"
(返回有序集合 myzset
中成员 “one” 的排名)ZREVRANK key member
ZREVRANK myzset "one"
(返回有序集合 myzset
中成员 “one” 的递减排名)这些有序集合操作命令使你能够在 Redis 中高效地处理带有分数的成员集合,进行范围查询、分数增减、成员排名等操作。
在 Redis 中,哈希(Hash)是一种存储键值对的数据结构,其中每个键都映射到一个值。以下是一些常用的哈希操作命令:
HSET key field value
HSET user:1000 username "john_doe"
(将哈希表 user:1000
中的字段 username
设置为 “john_doe”)HGET key field
HGET user:1000 username
(获取哈希表 user:1000
中字段 username
的值)HMSET key field value [field value ...]
HMSET user:1000 username "john_doe" age 30 email "john@example.com"
(同时设置多个字段的值)HMGET key field [field ...]
HMGET user:1000 username age email
(获取哈希表 user:1000
中多个字段的值)HDEL key field [field ...]
HDEL user:1000 email
(从哈希表 user:1000
中删除字段 email
)HKEYS key
HKEYS user:1000
(获取哈希表 user:1000
中所有字段的键名)HVALS key
HVALS user:1000
(获取哈希表 user:1000
中所有字段的值)HGETALL key
HGETALL user:1000
(获取哈希表 user:1000
中所有字段和值)HINCRBY key field increment
HINCRBY user:1000 age 1
(将哈希表 user:1000
中字段 age
的值增加 1)这些哈希操作命令使你能够在 Redis 中存储和检索具有结构化数据的信息,类似于一个小型的关联数组或对象。你可以根据具体的需求使用这些命令进行单个字段或多个字段的操作。
除了字符串、列表、集合、有序集合、哈希等基本数据结构的命令之外,Redis 还提供了一些其他常用的命令,用于管理数据库、执行事务、处理键过期等。以下是一些其他常用的 Redis 命令:
DEL key [key ...]
DEL mykey
(删除键 mykey
)EXISTS key
EXISTS mykey
(检查键 mykey
是否存在)KEYS pattern
KEYS user:*
(查找所有以 “user:” 开头的 key)RENAME key newkey
RENAME mykey newkey
(将键 mykey
重命名为 newkey
)TTL key
TTL mykey
(获取键 mykey
的剩余过期时间)EXPIRE key seconds
EXPIRE mykey 60
(设置键 mykey
的过期时间为 60 秒)PERSIST key
PERSIST mykey
(移除键 mykey
的过期时间)SELECT index
SELECT 1
(切换到数据库 1)FLUSHDB
FLUSHDB
(删除当前数据库中的所有 key)FLUSHALL
FLUSHALL
(删除所有数据库中的所有 key)PING
PING
(如果服务器运行正常,返回 “PONG”)这些命令涵盖了一些基本的数据库管理、键管理、过期时间设置等操作。在实际使用中,根据具体的场景和需求,选择合适的命令来完成相应的操作。值得注意的是,KEYS
命令在大型数据库中使用时可能会影响性能,因为它需要遍历所有的 key。在生产环境中,可以考虑使用更高效的方式来获取和管理数据。
Redis 是一款高性能的开源内存数据库,支持多种数据结构。其中,字符串命令包括 SET
、GET
等,用于存储和检索简单的键值对。列表命令如 LPUSH
、RPUSH
用于在头尾插入元素,而集合命令如 SADD
、SMEMBERS
用于处理唯一无序元素。有序集合命令如 ZADD
、ZRANGE
通过分数对元素排序。哈希命令如 HSET
、HGET
则适用于存储键值对集合。其他常用命令包括键管理命令如 DEL
、EXISTS
,过期时间管理命令如 EXPIRE
、PERSIST
,以及数据库选择、清空等命令。这些命令使 Redis 成为一个功能丰富、灵活可用于各种应用场景的数据库系统,通过键值对存储和操作不同类型的数据,提供快速高效的数据存取和处理。