Redis总结(一)
一.Redis简介
Redis是一个开源的使用C语言编写、支持网络、可基于内存也可做持久化的日志型、Key-Value数据库,并提供多种语言的API,是目前最流行的缓存应用。
本质是客户端-服务器应用软件程序。
特点是使用简单、性能强悍、功能应用场景丰富。
二.Redis通用命令
| 命令 | 释义 |
| DEL key | 当key存在的时候地删除一个key |
| DUMP key | 序列化给定key,并返回被序列化的值 |
| EXISTS key | 判断key是否存在 |
| EXPIRE key second | 为key设置过期时间,以秒计 |
| TTL key | 以秒为单位,返回给定key的剩余生存时间 |
| TYPE key | 返回key所存储的值的类型 |
二.Redis基本数据类型
1.String
(1)String数据结构是简单的key-value类型,value其实不仅是String,也可以是数字。
(2)使用场景:微博数,粉丝数(常规计数)。
(3)常用命令
| 命令 | 释义 |
| GET key | 获取指定key的值 |
| SET key | 设置指定key的值,可指定时间(EX:秒,PX:毫秒) |
| INCR key | 将key中存储的数字值增1 |
| DECR key | 将key中存储的数字值减1 |
| MGET key... | 获取所有(一个或者多个)给定key的值 |
2.List
(1)List就是链表
(2)使用场景:微博的关注列表,粉丝列表。
(3)常用命令
| 命令 | 释义 |
| Lpush key | 将一个或者多个值插入到列表头部 |
| Rpush key | 在列表中添加一个或多个值 |
| Lpop key | 移除并获取到列表中的第一个元素 |
| Rpop key | 移除列表的最后一个元素,并获取到移除的元素 |
| Lrange key... | 获取所有给定的key的值 |
3.Set
(1)Set就是一个集合,集合的概念就是一堆不重复值的组合。利用Redis提供的Set数据结构,可以存储一些集合性的数据。
(2)使用场景:实现如共同关注、共同喜好、二度好友。
(3)常用命令
| 命令 | 释义 |
| Sadd key | 向集合中添加一个或多个成员 |
| Spop key | 移除并返回集合中的一个随机元素 |
| Smembers key | 返回集合中的所有成员 |
| Sunion key | 返回所有给定集合的并集 |
4.Sorted Set
(1)Sorted Set的使用场景与set类似,区别是set不是自动有序的,而Sorted Set是可以通过用户额外提供一个优先级(score)的参数来为成员变量排序,并且是插入有序的,即自动排序。
(2)使用场景:排行榜、按照用户投票和时间排序。
(3)常用命令:
| 命令 | 释义 |
| Zadd | 向有序集合添加一个或多个成员,或者更新已存在成员的分数 |
| Zrange | 通过索引区间返回有序集合中指定区间的成员 |
| Zrem | 移除有序集合中的一个或多个成员 |
| Zcard | 获取有序集合的成员数 |
5.Hash
(1)Hash是一个String类型的field和value的映射表
(2)使用场景:存储部分变更数据,如用户信息
(3)常用命令
| 命令 | 释义 |
| Hget | 获取存储在哈希表中指定字段的值 |
| Hset | 将哈希表key中的字段field的值设置为value |
| Hgetall | 获取在哈希表中指定key的所有字段和值 |
6.GEO
(1)GEO是3.2版本更新后开始对GEO(地理位置)的支持
(2)使用场景:LBS应用开发
(3)常用命令
| 命令 | 释义 |
| GEOADD | 增加地理位置的坐标,可以批量增加地理位置 |
| GEODIST | 获取两个地理位置的距离 |
| GEOHASH | 获取某个地理位置的geohash值 |
| GEOPOS | 获取指定位置的坐标,可以批量获取多个地理位置的坐标 |
| GEORADIUS |
根据给定地理位置坐标获取指定范围内的地理位置集合 (注意:该命令的中心点由输入的经度和维度决定) |
| GEORADIUSBYMEMBER |
根据给定成员的位置获取指定范围内的位置信息集合 (注意:该命令的中心点由输入的经度和维度决定) |
7.Stream
(1)Stream 是在5.0版本开始的新结构“流”,作者的最初意图是充当一个mq来使用。
(2)使用场景:生产者消费者(类似kafka)
(3)常用命令
| 命令 | 释义 |
| XADD | 往指定的流中添加消息 |
| XLEN | stream流中的消息数量 |
| XDEL | 删除流中的消息 |
| XRANGE | 返回流中满足给定ID范围的消息 |
| XREAD | 从一个或者多个流中读取消息 |
| XINFO | 检索关于流和关联的消费者组的不同的信息 |

浙公网安备 33010602011771号