这篇文章主要为大家展示了“Redis数据结构和常用命令有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Redis数据结构和常用命令有哪些”这篇文章吧。
1. Redis 介绍
-
Redis 是一个开源的使用 C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。
-
本质是客户端-服务端应用软件程序。
-
特点是使用简单、性能强悍、功能应用场景丰富。
2. 通用命令
命令 | 描述 |
---|---|
DEL key | 该命令用于在 key 存在时删除 key。 |
DUMP key | 序列化给定 key,并返回被序列化的值。 |
EXISTS key | 检查给定 key 是否存在。 |
EXPIRE key seconds | 为给定 key 设置过期时间,以秒记。 |
TTL key | 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。 |
TYPE key | 返回 key 所存储的值得类型。 |
3. 数据结构
1. String
-
String 数据结构是简单的 key-value 类型,value 其实不仅是 String,也可以是数字。
-
使用场景:微博数,粉丝数(常规计算)
-
常用命令
命令 描述 Get 获取指定 key 的值 Set 设置指定 key 的值 Incr 将 key 中存储的数字值增一 Decr 将 key 中存储的数字值减一 Mget 获取所有(一个或多个)给定 key 的值
2. List
-
List 就是链表。
-
使用场景:微博的关注列表,粉丝列表
-
常用命令
命令 描述 Lpush 将一个或多个值插入到列表头部 Rpush 在列表中添加一个或多个值 Lpop 移除并获取列表的第一个元素,返回值为移除的元素 Rpop 移除列表的最后一个元素,返回值为移除的元素 Lrange 获取所有(一个或多个)给定 key 的值
3. Set
-
Set 就是一个集合,集合的概念就是一堆不重复值的组合。利用 Redis 提供的 Set 数据结构,可以存储一些集合性的数据。
-
使用场景:实现如共同关注、共同喜好、二度好友。
-
常用命令
命令 描述 Sadd 向集合中添加一个或多个成员 Spop 移除并返回集合中的一个随机元素 Smembers 返回集合中的所有成员 Sunion 返回所有给定集合的并集
4. Sorted set
-
Sorted set 的使用场景与 set 类似,区别是 set 不是自动有序的,而 sorted set 可以通过用户额外提供一个优先级(score)的参数来为成员排序,并且是插入有序的,即自动排序。
-
使用场景:排行榜、按照用户投票和时间排序
-
常用命令
命令 描述 Zadd 向有序集合添加一个或多个成员,或者更新已存在成员的分数 Zrange 通过索引区间返回有序集合中指定区间内的成员 Zrem 移除有序集合中的一个或多个成员 Zcard 获取有序集合的成员数
5. Hash
-
Hash 是一个 String 类型的 field 和 value 的映射表。
-
使用场景:存储部分变更数据,如用户信息。
-
常用命令
命令 描述 Hget 获取存储在哈希表中指定字段的值 Hset 将哈希表 key 中的字段 field 的值设为 value Hgetall 获取在哈希表中指定 key 的所有字段和值
6. GEO
-
3.2 版本开始对 GEO(地理位置)的支持。
-
使用场景:LBS 应用开发。
-
常用命令
命令 描述 GEOADD 增加地理位置的坐标,可以批量添加地理位置 GEODIST 获取两个地理位置的距离 GEOHASH 获取某个地理位置的 geohash 值 GEOPOS 获取指定位置的坐标,可以批量获取多个地理位置的坐标 GEORADIUS 根据给定地理位置坐标获取指定范围内的地理位置集合(注意:该命令的中心点由输入的经度和纬度决定) GEORADIUSBYMEMBER 根据给定成员的位置获取指定范围内的位置信息集合(注意:该命令的中心点是由给定的位置元素决定)
7. Stream
-
5.0 版本开始的新结构 “流”
-
使用场景:消费者生产者场景(类似 MQ)
-
常用命令
命令 描述 XADD 往指定的流中添加消息 XLEN stream 流中的消息数量 XDEL 删除流中的消息 XRANGE 返回流中满足给定 ID 范围的消息 XREAD 从一个或者多个流中读取消息 XINFO 检索关于流和关联的消费者组的不同的信息
以上是“Redis数据结构和常用命令有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/225722.html