1. Redis是什么?
Redis(Remote Dictionary Server)是一个基于内存的开源 key-value 数据库系统。Redis 提供了一个高效的存储和访问数据的方式,可以用来作为数据库、缓存、消息服务器(message broker)等。 Redis 将所有数据存储在内存中,可以将内存中的数据转储到磁盘上,以便在重启时重新加载使用。
Redis 的优势:
速度快:因为 Redis 所有数据都存储在内存中,所以读写数据的速度很快
功能强大:Redis 支持多种数据结构, 包括字符串(string)、哈希(hash)、列表(list)、集合(set)和有序集合(sorted set) 等
可靠性高:Redis 支持主从同步,可以进行数据备份,确保数据的安全性。
易于使用:Redis 安装简单,使用方便。
2. Redis常用命令
2.1 字符串命令
字符串(string)是 Redis 中最简单的数据类型,可以存储任何形式的数据,比如数字、文本、图片等。
2.1.1 SET
命令格式:
SET key value [EX seconds] [PX milliseconds] [NX|XX]
参数说明:
key:字符串类型,表示要设置的键(key)。
value:字符串类型,表示要设置的值。
EX seconds:选项,以秒为单位设置键的过期时间。
PX milliseconds:选项,以毫秒为单位设置键的过期时间。
NX|XX:选项,如果设置为 NX,则只有在键不存在时才能设置值;如果设置为 XX,则只有在键已存在时才能设置值。
示例:
SET mykey "Hello World"
GET mykey #返回 Hello World
2.1.2 GET
命令格式:
GET key
参数说明:
key:字符串类型,表示要查询的键(key)。
示例:
SET mykey "Hello World"
GET mykey #返回 Hello World
2.1.3 MSET
MSET 命令可以同时设置多个键值对。
命令格式:
MSET key1 value1 [key2 value2 …]
参数说明:
key1, key2, …:字符串类型,表示要设置的多个键(key)。
value1, value2, …:字符串类型,表示要设置的多个值。
示例:
MSET key1 "Hello" key2 "World"
GET key1 #返回 Hello
GET key2 #返回 World
2.2 哈希命令
哈希(hash)是一个键值对集合,类似于一个关联数组。哈希类型可以在每个哈希中存储多个键值对,每个键值对都是一个字段和值的映射。
2.2.1 HSET
命令格式:
HSET key field value
参数说明:
key:字符串类型,表示要设置哈希的键(key)。
field:字符串类型,表示要设置的哈希中的字段。
value:字符串类型,表示要设置的哈希中的值。
示例:
HSET user name "Jack"
HSET user age 20
HGET user name #返回 Jack
2.2.2 HGETALL
HGETALL 命令可以返回哈希表中的所有字段和值。
命令格式:
HGETALL key
参数说明:
key:字符串类型,表示要查询哈希的键(key)。
示例:
HSET user name "Jack"
HSET user age 20
HGETALL user #返回 name:Jack age:20
2.3 列表命令
列表(list)是一个有序的字符串列表,其中的元素可以重复。
2.3.1 LPUSH
LPUSH 命令可以将一个或多个元素左插入到列表中。
命令格式:
LPUSH key value1 [value2 …]
参数说明:
key:字符串类型,表示要插入元素的列表的键(key)。
value1, value2, …:字符串类型,表示要插入的多个元素。
示例:
LPUSH mylist "world"
LPUSH mylist "hello"
LRANGE mylist 0 -1 #返回 hello world
2.3.2 RPOP
RPOP 命令可以从列表的右侧弹出一个元素。
命令格式:
RPOP key
参数说明:
key:字符串类型,表示要弹出元素的列表的键(key)。
示例:
LPUSH mylist "world"
LPUSH mylist "hello"
RPOP mylist #返回 world
LRANGE mylist 0 -1 #返回 hello
2.4 集合命令
集合(set)是一个不允许重复元素的无序集合。
2.4.1 SADD
SADD 命令可以向集合中添加一个或多个元素。
命令格式:
SADD key member1 [member2 …]
参数说明:
key:字符串类型,表示要添加元素的集合的键(key)。
member1, member2, …:字符串类型,表示要添加的多个元素。
示例:
SADD myset "hello"
SADD myset "world"
SMEMBERS myset #返回 hello world
2.4.2 SREM
SREM 命令可以从集合中删除一个或多个元素。
命令格式:
SREM key member1 [member2 …]
参数说明:
key:字符串类型,表示要删除元素的集合的键(key)。
member1, member2, …:字符串类型,表示要删除的多个元素。
示例:
SADD myset "hello"
SADD myset "world"
SREM myset "world"
SMEMBERS myset #返回 hello
2.5 有序集合命令
有序集合(sorted set)是一个有序的字符串集合,其中的每个元素都有一个分数用于排序。
2.5.1 ZADD
ZADD 命令可以向有序集合中添加带有分数的元素。
命令格式:
ZADD key score1 member1 [score2 member2 …]
参数说明:
key:字符串类型,表示要添加元素的有序集合的键(key)。
score1, score2, …:浮点数类型,表示要添加的元素的分数。
member1, member2, …:字符串类型,表示要添加的元素。
示例:
ZADD myset 1 "hello"
ZADD myset 2 "world"
ZRANGE myset 0 -1 WITHSCORES #返回 hello 1 world 2
2.5.2 ZRANK
ZRANK 命令可以返回有序集合中指定元素的排名。
命令格式:
ZRANK key member
参数说明:
key:字符串类型,表示要查询元素的有序集合的键(key)。
member:字符串类型,表示要查询的元素。
示例:
ZADD myset 1 "hello"
ZADD myset 2 "world"
ZRANK myset "world" #返回 1
3. Redis命令操作手册
Redis 命令操作手册可以在 Redis 官方文档中找到。操作手册是一个详细的 Redis 命令参考,其中包含每个 Redis 命令的功能、参数和实例等信息。可以通过以下链接访问 Redis 命令操作手册:
4. 总结
Redis 是一个功能强大、易于使用的数据库系统,拥有高速的读写数据能力。Redis 支持多种数据类型,包括字符串、哈希、列表、集合和有序集合等。我们可以根据数据类型的不同,选择不同的 Redis 命令进行操作。使用 Redis 命令操作手册可以更好地了解 Redis 命令的功能和使用方法。