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 检索关于流和关联的消费者组的不同的信息

 

posted @ 2020-08-25 23:06  我要拔出我的大宝剑了  阅读(64)  评论(0)    收藏  举报