本文介绍: 1、获取key列表:KEYS pattern 通配符有?*[] 和转义 。2、key 是否存在: EXISTS key 存在返回 1,不存在返回 0。3、建立 key删除 key:SET key 和 DEL key。4、根据 key 获取该键所存储redis 数据类型:TYPE key。返回stringlisthashsetzset。下面会对这5种返回的 redis 数据类型逐一讲解

分类 编程技术

Redis 数据类型分为字符串类型、散列类型列表类型集合类型有序集合类型

Redis 这么火,它运行有多块?一台普通的笔记本电脑可以在1秒钟内完成十万次的读写操作

原子操作最小操作单位,不能继续拆分。即最小执行单位,不会被其他命令插入。高并发下不存在竞态条件

KEY 的命名一个良好的建议article:1:title存储 ID 为 1 的文章标题


一、前言


二、Redis数据类型 Redis数据命令

1、Redis数据类型一字符串类型:这个很好理解一个key存储一个字符串。如果你要存数据呢?转换成Json或者其他的字符串序列化

2、Redis数据命令字符串类型:


3、Redis数据类型二散列类型:

Redis 是以字典关联数组)的形式存储的,一个 key 对应一个 value。在字符串类型中,value 只能是一个字符串。那么在散列类型,也叫哈希类型中,value 对应的也是一个字典关联数组)。那么就可以理解,Redis 的哈希类型/散列类型中,key 对应value 是一个二维数组。但是字段的值只可以是字符串。也就是说只能是二维数组,不能有更多的维度


4、Redis 数据命令二散列类型:


5、Redis 数据类型三列表类型

列表类型存储了一个有序的字符串列表。常用的操作是向两端插入新的元素时间复杂度为 O(1)。结构为一个链表记录头和尾的地址看到这里,Redis 数据类型的列表类型一个重大的作用呼之欲出,那就是队列。新来的请求插入到尾部,新处理过的从头部删除。另外,比如微博的新鲜事。比如日志。列表类型就是一个下标从 0 开始的数组。由于是链表存储,那么越靠近头和尾的元素操作越快,越靠近中间则越慢。


6、Redis 数据命令三列表类型:


7、Redis 数据类型四集合类型:

集合类型是为了方便对多个集合进行操作和运算。集合中每个元素不同没有顺序概念,每个元素都是且只能是一个字符串。常用操作是对集合插入、删除、判断等操作。时间复杂度尾 O(1)。可以进行交集、并集、差集运算。例如文章 1 的有 3 个标签,是一个 Redis 数据类型集合类型存储。文章 2 有 3 个标签,有一个 Redis 数据类型集合类型存储。文章是 1 是 mysql,文章 2 是讲 redis。那么交集是不是就交出了一个数据库?(假设数据库这个tag在两篇文字都有)。集合类型在 redis 中的存储是一个值为空的散列表。


8、Redis 数据命令四集合类型:

  • 1)增加:SADD key value。
  • 2)删除:SREM key value。
  • 3)获取指定集合的所有元素:SMEMBERS key。
  • 4)判断某个元素是否存在:SISMEMBER key value。
  • 5)差集运算:SDIFF key1 key2…。对多个集合进行差集运算。
  • 6)交集运算:SINNER key1 key2…。对多个集合进行交集运算。
  • 7)并集运算:SUNION key1 key2…。对多个集合进行并集运算。
  • 8)获取集合中元素个数:SCARD key。返回集合中元素的总个数。
  • 9)对差集、交集、并集运算的结果存放在一个指定的 key 中:SDIFFSTORE storekey key1 key2。对 key1 和 key2 求差集,结果存放在 key 为 storekey 的集合中。SINNERSTORE 和 SUNIONSTORE 类似。
  • 10)获取集合中的随即元素:SRANDMEMBER key [count]。参数 count 可选,如果 count 不存在,则随即一个。count 大于 0,则是不重复count 个元素。count 小于 0,则是一共 |count|个 元素,可以重复
  • 11)随即弹出一个元素:SPOP key。随即从集合中弹出一个元素并删除,将该元素的值返回。

9、Redis 数据类型五有序集合类型:

集合类型是无序的,每个元素是唯一的。那么有序集合就是有序的,每个元素是唯一的。有序集合类型和集合类型的差别是,有序集合为每个元素配备了一个属性分数。有序集合就是根据分数排序的。有序集合是使用散列表和跳跃实现的。所以和列表相比,操作中间元素的速度也很快。时间复杂度尾 O(log(N))。Redis 数据类型中的有序集合类型比 Redis 数据类型中的列表类型更加耗费资源


10、Redis数据命令五有序集合类型

  • 1)增加:ZADD key sorce1 value1 sorce2 value2…。
  • 2)获取分数:ZSCORE key value。获取key的有序集合中值为 value 的元素的分数。
  • 3)获取排名在某个范围内的元素列表:ZRANFGE key start stop [WITHSCORE]。获取排名在 start 和 end 之间的元素列表,包含 start 和 end2 个元素。每个元素一行。如果有WITHSCORE参数,则一行元素值,一行分数。时间复杂度为O(LOGn+m)。如果分数相同,则 0<0
  • 4)获取指定分数范围的元素:ZRANGEBYSCORE key min max [WITHSCORE] [LIMIT offset count]。获取分数在 minmax 之间的元素列表。含两头。每个元素一行。如果有 WITHSCORE 参数,则一行元素值,一行分数。如果 min 大于 max顺序反转
  • 5)为某个元素增加分数:ZINCRBY key increment value。指定的有序集合的值为 value 的元素的分数 +increment返回值更改后的分数。
  • 6)获取集合中元素的数量:ZCARD key。
  • 7)获取指定分数范围内的元素个数:ZCOUNT key min max
  • 8)删除一个或多个元素:ZREM key value1 value2…
  • 9)根据排名范围删除元素:ZREMRANGEBYRANK key start end。删除排名在 start 和 end 中的元素。
  • 10)按照分数范围删除元素:ZREMRANGEBYSCORE key min max
  • 11)获得元素排名(正序):ZRANK key value。获取 value 在该集合中的从小到大的排名。
  • 12)获得元素排名(倒序):ZREVRANK key value。获取 value 在该集合中从大到小的排名。
  • 13)有序集合的交集:ZINTERSTORE storekey key1 key2…[WEIGHTS weight [weight..]] [AGGREGATE SUM|MIN|MAX]。用来计算多个集合的交集,结果存储在 storekey中。返回值storekey 的元素个数。AGGREGATE 为 SUM 则 storekey 集合的每个元素的分数是参与计算的集合分数和。MIN 是参与计算的分数最小值。MAX 是参与计算分数最大值。WEIGHTS 设置每个集合的权重,如 WEIGHTS 1 0.1。那么集合A的每个元素分数 * 1,集合B的每个元素分数 * 0.1
  • 14)有序集合的并集:ZUNIONSTORE storekey key1 kye2…[WEIGHTS weight [weight..]] [AGGREGATE SUM|MIN|MAX]

原文地址:https://blog.csdn.net/SHADOW_xhx/article/details/134766421

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_36634.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注