Redis基础知识学习笔记(三)

文章目录

  • Redis命令
    • 一.Redis命令
      • 1.启动redis服务器
      • 2.本地启动redis客户端
      • 3.远程启动redis客户端
      • 4.测试是否建立连接
  • 二.Redis 键(key)
    • Redis Key 相关命令
  • 三.Redis 字符串(String)
    • Redis 字符串命令
  • 四.Redis 哈希(Hash)
    • Redis 字符串命令
  • 五.Redis 列表(List)
  • Redis 列表命令
  • 六.Redis 集合(Set)
    • Redis 集合基本命令
  • 七.Redis 有序集合(sorted set)
    • Redis 有序集合基本命令

Redis命令

一.Redis命令

Redis 命令用于在 redis 服务上执行操作。

要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中。

语法:

1.启动redis服务器

redis-server 

2.本地启动redis客户端

redis-cli

3.远程启动redis客户端

redis-cli -h host -p port -a password

host换为远程地址,port换为远程端口,password换为服务器密码(如果有)

4.测试是否建立连接

在进入redis命令行之后使用ping命令判断:

ping

如果返回PONG则连接成功

如果在连接时出现中文乱码,加上raw选项

redis-cli --raw

二.Redis 键(key)

Redis 键命令用于管理 redis 的键。

语法:

COMMAND KEY_NAME

Redis Key 相关命令

序号 命令 描述
1 DEL key 删除一个或多个存在的键,不存在的键将被忽略。
2 DUMP key 序列化给定键,并返回被序列化的值(一个二进制安全的字符串),如果键不存在则返回空字符串。
3 EXISTS key 检查给定键是否存在。如果键存在返回 1,否则返回 0。
4 EXPIRE key seconds 为给定键设置过期时间(以秒为单位)。如果键已经存在过期时间,则更新它。
5 EXPIREAT key timestamp 设置键的过期时间(UNIX 时间戳)。到达指定时间戳后,键将自动被删除。
6 PEXPIRE key milliseconds 设置键的过期时间(以毫秒为单位),功能与 EXPIRE 类似,但时间单位不同。
7 PEXPIREAT key milliseconds-timestamp 设置键的过期时间戳(UNIX 时间戳,以毫秒为单位)。
8 KEYS pattern 查找所有符合给定模式的键。由于这个命令可能会阻塞服务器,建议谨慎使用,特别是在包含大量键的数据库中。
9 MOVE key db 将当前数据库的键移动到指定的数据库中。如果键不存在或目标数据库已包含同名键,则操作失败。
10 PERSIST key 移除键的过期时间,使键成为永久性的。
11 PTTL key 以毫秒为单位返回键的剩余过期时间。如果键不存在或没有设置过期时间,则返回相应的值。
12 TTL key 以秒为单位返回键的剩余生存时间(TTL, Time To Live)。如果键不存在或没有设置过期时间,则返回相应的值。
13 RANDOMKEY 从当前数据库中随机返回一个键。如果数据库为空,则返回空。
14 RENAME key newkey 修改键的名称。如果 newkey 已存在,则 newkey 的原值将被覆盖。
15 RENAMENX key newkey 当且仅当 newkey 不存在时,将 key 改名为 newkey。
16 SCAN cursor [MATCH pattern] [COUNT count] 迭代当前数据库中的键空间。这是一个用于分页遍历键的替代命令,比 KEYS 命令更有效率。
17 TYPE key 返回存储在键中的值的类型。如果键不存在,则返回 none。

三.Redis 字符串(String)

Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:

COMMAND KEY_NAME

Redis 字符串命令

Redis 字符串数据类型的相关命令用于管理 redis 字符串值。以下是一些常用的Redis字符串命令:

序号 命令 描述
1 SET key value 设置指定 key 的值。
2 GET key 获取指定 key 的值。
3 GETRANGE key start end 返回 key 中字符串值的子字符。
4 GETSET key value 将给定 key 的值设为 value,并返回 key 的旧值(old value)。
5 GETBIT key offset 对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
6 MGET key1 [key2..] 获取所有()一个给定或多个 key 的值。
7 SETBIT key offset value 对 key 所储存的字符串值(,设置或清除指定偏移量上的位bit)。
8 SETEX key seconds value 将值 value 关联到 key,并将 key 的过期时间设为 seconds (以秒为单位)。
9 SETNX key value 只有在 key 不存在时设置 key 的值。
10 SETRANGE key offset value 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。
11 STRLEN key 返回 key 所储存的字符串值的长度。
12 MSET key value [key value ...] 同时设置一个或多个 key-value 对。
13 MSETNX key value [key value ...] 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
14 PSETEX key milliseconds value 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是以秒为单位。
15 INCR key 将 key 中储存的数字值增一。
16 INCRBY key increment 将 key 所储存的值加上给定的增量值(increment)。
17 INCRBYFLOAT key increment 将 key 所储存的值加上给定的浮点增量值(increment)。
18 DECR key 将 key 中储存的数字值减一。
19 DECRBY key decrement key 所储存的值减去给定的减量值(decrement)。
20 APPEND key value 如果 key 已经存在并且是一个字符串,APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。

这些命令为Redis字符串类型的操作提供了丰富的功能,包括设置、获取、追加、增减数值等操作,以及支持设置键的过期时间等高级功能。

四.Redis 哈希(Hash)

Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。

Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

Redis 字符串命令

Redis 字符串数据类型的相关命令用于管理 redis 字符串值。以下是一些常用的Redis字符串命令:

序号 命令 描述
1 SET key value 设置指定 key 的值。
2 GET key 获取指定 key 的值。
3 GETRANGE key start end 返回 key 中字符串值的子字符。
4 GETSET key value 将给定 key 的值设为 value,并返回 key 的旧值(old value)。
5 GETBIT key offset 对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
6 MGET key1 [key2..] 获取所有()一个给定或多个 key 的值。
7 SETBIT key offset value 对 key 所储存的字符串值(,设置或清除指定偏移量上的位bit)。
8 SETEX key seconds value 将值 value 关联到 key,并将 key 的过期时间设为 seconds (以秒为单位)。
9 SETNX key value 只有在 key 不存在时设置 key 的值。
10 SETRANGE key offset value 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。
11 STRLEN key 返回 key 所储存的字符串值的长度。
12 MSET key value [key value ...] 同时设置一个或多个 key-value 对。
13 MSETNX key value [key value ...] 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
14 PSETEX key milliseconds value 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是以秒为单位。
15 INCR key 将 key 中储存的数字值增一。
16 INCRBY key increment 将 key 所储存的值加上给定的增量值(increment)。
17 INCRBYFLOAT key increment 将 key 所储存的值加上给定的浮点增量值(increment)。
18 DECR key 将 key 中储存的数字值减一。
19 DECRBY key decrement key 所储存的值减去给定的减量值(decrement)。
20 APPEND key value 如果 key 已经存在并且是一个字符串,APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。

这些命令为Redis字符串类型的操作提供了丰富的功能,包括设置、获取、追加、增减数值等操作,以及支持设置键的过期时间等高级功能。

五.Redis 列表(List)

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

Redis 列表命令

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。以下是一些常用的Redis列表命令:

序号 命令 描述
1 BLPOP key1 [key2] timeout 移出并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
2 BRPOP key1 [key2] timeout 移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
3 BRPOPLPUSH source destination timeout 从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它;如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
4 LINDEX key index 通过索引获取列表中的元素(索引从0开始)。
5 `LINSERT key BEFORE AFTER pivot value`
6 LLEN key 获取列表长度。
7 LPOP key 移出并获取列表的第一个元素。
8 LPUSH key value1 [value2] 将一个或多个值插入到列表头部。
9 LPUSHX key value 将一个值插入到已存在的列表头部。如果列表不存在,则不进行任何操作。
10 LRANGE key start stop 获取列表指定范围内的元素(包含startstop)。
11 LREM key count value 移除列表元素。count的值可以是正数、负数或者0,分别表示从头部开始移除与value相等的元素、从尾部开始移除、移除所有与value相等的元素。
12 LSET key index value 通过索引设置列表元素的值。如果索引超出范围,则返回一个错误。
13 LTRIM key start stop 对一个列表进行修剪(trim),只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
14 RPOP key 移除列表的最后一个元素,返回值为移除的元素。
15 RPOPLPUSH source destination 移除列表的最后一个元素,并将该元素添加到另一个列表的头部,然后返回该元素。
16 RPUSH key value1 [value2] 在列表中添加一个或多个值到列表尾部。
17 RPUSHX key value 为已存在的列表添加值到列表尾部。如果列表不存在,则不进行任何操作。

这些命令为Redis列表类型的操作提供了丰富的功能,包括插入、获取、移除、修剪和阻塞式弹出等操作。

六.Redis 集合(Set)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

集合对象的编码可以是 intset 或者 hashtable。

Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

Redis 集合基本命令

序号 命令 描述
1 SADD key member1 [member2] 向集合添加一个或多个成员,如果成员已在集合中则忽略。
2 SCARD key 获取集合的成员数。
3 SDIFF key1 [key2] 返回第一个集合与其他集合之间的差异,即存在于第一个集合但不在其他集合中的所有元素。
4 SDIFFSTORE destination key1 [key2] 返回给定所有集合的差集并存储在 destination 集合中。
5 SINTER key1 [key2] 返回给定所有集合的交集,即存在于所有集合中的元素。
6 SINTERSTORE destination key1 [key2] 返回给定所有集合的交集并存储在 destination 集合中。
7 SISMEMBER key member 判断 member 元素是否是集合 key 的成员,如果是返回 1,否则返回 0。
8 SMEMBERS key 返回集合中的所有成员。
9 SMOVE source destination member member 元素从 source 集合移动到 destination 集合。如果操作成功,返回 1,否则返回 0。
10 SPOP key 移除并返回集合中的一个随机元素。
11 SRANDMEMBER key [count] 返回集合中一个或多个随机元素。如果指定了 count,则返回指定数量的随机元素,且不会移除它们。
12 SREM key member1 [member2] 移除集合中一个或多个成员,如果成员存在则成功删除。
13 SUNION key1 [key2] 返回所有给定集合的并集,即存在于任何一个集合中的所有元素。
14 SUNIONSTORE destination key1 [key2] 所有给定集合的并集存储在 destination 集合中。
15 SSCAN key cursor [MATCH pattern] [COUNT count] 迭代集合中的元素,用于分页遍历集合。

七.Redis 有序集合(sorted set)

Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)

Redis 有序集合基本命令

序号 命令 描述
1 ZADD key score1 member1 [score2 member2 ...] 向有序集合添加一个或多个成员,或者更新已存在成员的分数。
2 ZCARD key 获取有序集合的成员数。
3 ZCOUNT key min max 计算在有序集合中指定区间分数的成员数。
4 ZINCRBY key increment member 对有序集合中指定成员的分数加上增量 increment
5 ZINTERSTORE destination numkeys key [key ...] 计算给定的一个或多个有序集的交集,并将结果集存储在新的有序集合 destination 中。
6 ZLEXCOUNT key min max 在有序集合中计算指定字典区间内成员数量。
7 ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合指定区间内的成员,可选地返回成员的分数。
8 ZRANGEBYLEX key min max [LIMIT offset count] 通过字典区间返回有序集合的成员,可选地进行分页。
9 ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 通过分数返回有序集合指定区间内的成员,可选地返回成员的分数并进行分页。
10 ZRANK key member 返回有序集合中指定成员的排名(按分数从小到大排序)。
11 ZREM key member [member ...] 移除有序集合中的一个或多个成员。
12 ZREMRANGEBYLEX key min max 移除有序集合中给定的字典区间的所有成员。
13 ZREMRANGEBYRANK key start stop 移除有序集合中给定的排名区间的所有成员。
14 ZREMRANGEBYSCORE key min max 移除有序集合中给定的分数区间的所有成员。
15 ZREVRANGE key start stop [WITHSCORES] 返回有序集中指定区间内的成员,通过索引,但分数从高到低排序,可选地返回成员的分数。
16 ZREVRANGEBYSCORE key max min [WITHSCORES] 返回有序集中指定分数区间内的成员,分数从高到低排序,可选地返回成员的分数。
17 ZREVRANK key member 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序。
18 ZSCORE key member 返回有序集中,成员的分数值。
19 ZUNIONSTORE destination numkeys key [key ...] 计算给定的一个或多个有序集的并集,并将结果集存储在新的 key 中。
20 ZSCAN key cursor [MATCH pattern] [COUNT count] 迭代有序集合中的元素(包括元素成员和元素分值),用于分页遍历有序集合。

你可能感兴趣的:(redis,redis,学习,笔记)