侧边栏壁纸
博主头像
一朵云的博客博主等级

拥抱生活,向阳而生。

  • 累计撰写 67 篇文章
  • 累计创建 25 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

Redis -- 常用指令

一朵云
2022-06-16 / 0 评论 / 0 点赞 / 4871 阅读 / 7842 字

前言:

  Redis 功能强大,支持丰富的数据类型,包括字符串(String)、哈希(Map)、列表(List)、集合(Sets)和有序集合(Sorted sets),以下是 Redis 常用的操作命令。

常用指令

1、Redis 键(Keys)相关常用命令

①、删除指定的一个或多个 key。

DEL key [key ...]

②、检查指定的一个或多个 key 是否存在。

EXISTS key [key ...]

③、为指定 key 设置生存时间,当 key 过期时,它会被自动删除。

EXPIRE key seconds

④、以秒为单位,返回指定 key 的剩余生存时间。

TTL key

⑤、返回指定 key 所储存的值的类型。

TYPE key

2、Redis 字符串(Strings)常用命令

字符串(Strings)类型是 Redis 最基本也是最简单的一种数据类型。Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,简称 C 字符串),而是构建了自己的字符串类型,名为简单动态字符串(simple dynamic string,SDS),并将其作为 Redis 默认的字符串表示。

①、将字符串值 value 关联到 key,同时可以选择是否增加生存时间,也可以设置键是否存在的条件操作。

SET key value [EX seconds|PX milliseconds] [NX|XX]

②、将 key 的值设为 value,当且仅当 key 不存在时,才成功。

SETNX key value

③、返回 key 所关联的字符串值。

GET key

3、Redis 哈希(Hashes)常用命令

Redis 的哈希(Hash)是一个 String 类型的 field 和 value 的映射表,Hash 特别适合用于存储对象。Redis 中每个 hash 可以存储 232-1 键值对(40 多亿)。Redis 的哈希底层结构和传统的哈希结构一样,由数组和链表组成。

①、将哈希表 key 中的域 field 的值设为 value。

HSET key field value

②、将哈希表 key 中的域 field 的值设置为 value,当且仅当域 field 不存在时。

HSETNX key field value

③、查看哈希表 key 中,指定域 field 是否存在。

HEXISTS key field

④、返回哈希表 key 中指定域 field 的值。

HGET key field

⑤、返回哈希表 key 中,所有的域和值。在返回值里,紧跟每个域名之后是域的值,所以返回值的长度是哈希表大小的两倍。

HGETALL key

⑥、返回哈希表 key 中的所有域。

HKEYS key

⑦、返回哈希表 key 中所有域的值。

HVALS key

⑧、返回哈希表 key 中域的数量。

HLEN key

⑨、删除哈希表 key 中的一个或多个指定域(field),不存在的域将被忽略。

HDEL key field [field ...]

⑩、同时将多个 field-value(域-值)对设置到哈希表 key 中。

HMSET key field value [field value ...]

⑪、返回哈希表 key 中,一个或多个指定域的值。

HMGET key field [field ...]

4、Redis 列表(Lists)常用命令

Redis 中,list 数据结构是按照插入顺序的字符串链表,和数据结构中的普通链表一样,可以在其头部(left)和尾部(right)添加新的元素。

①、返回列表 key 中,下标为 index 的元素。

LINDEX key index

②、返回指定列表的长度。

LLEN key

③、表示移除并返回列表 key 的头元素。

LPOP key

④、表示将一个或多个值 value 插入到列表 key 的表头。

LPUSH key value [value ...]

⑤、返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。

LRANGE key start stop

⑥、表示根据参数 count 的值,移除列表中与参数 value 相等的元素。

LREM key count value

⑦、将列表 key 下标为 index 的元素的值设置为 value。

LSET key index value

⑧、对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

LTRIM key start stop

⑨、表示移除并返回列表 key 的尾元素。

RPOP key

⑩、表示将一个或多个值 value 插入到列表 key 的表尾。

RPUSH key value [value ...]

5、Redis 集合(Sets)常用命令

Redis 中的 set 类型是一种无序集合,集合中的元素没有先后顺序,而且具有确定性、唯一性的特点。相比于前面介绍的 list 类型,set 支持更加丰富的操作,比如求交、并、差集等。

①、添加一个或多个指定的 member 元素到集合的 key 中。

SADD key member [member ...]

②、返回集合存储的 key 的基数(集合元素的数量)。

SCARD key

③、判断 member 元素是否是集合 key 的成员。

SISMEMBER key member

④、返回 key 集合所有的元素。

SMEMBERS key

⑤、从集合 key 中移除一个或多个 member 元素。

SREM key member [member ...]

6、Redis 有序集合(Sorted Set)常用命令

Redis 有序集合(Sorted Set)和集合(Set)一样也是 String 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数,redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。

①、将一个或多个 member 元素及其 score 值加入到有序集合指定 key 当中。

ZADD key [NX|XX] [CH] [INCR] score member [score member ...]

②、返回有序集合指定 key 的基数(即成员的个数)。

ZCARD key

③、返回有序集合指定 key 中,score 值在 min 和 max 之间的成员的数量。

ZCOUNT key min max

④、返回有序集 key 中,成员 member 的 score 值。

ZSCORE key member

⑤、返回有序集合 key 中,指定区间内的成员。下标从0开始,-1表示最后一个成员,-2表示倒数第二个成员。

ZRANGE key start stop [WITHSCORES]

⑥、返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)顺序排列。

ZREVRANK key member

⑦、返回有序集合 key 中,所有 score 值介于 max 和 min 之间的成员。有序集合成员按 score 值递减(从大到小)次序排列。

ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]

⑧、移除有序集 key 中,指定排名(rank)区间内的所有成员。

ZREMRANGEBYRANK key start stop

⑨、移除有序集 key 中,所有 score 值介于 min 和 max 之间的成员。有序集合成员按 score 值递增(从小到大)次序排列。

ZREMRANGEBYSCORE key min max

更多命令请参考:

0

评论区