多种数据结构的存储系统--Redis使用基础篇一(Redis简介)

1.什么是Reids?

redis是一种支持Key-Value等多种数据结构的存储系统。支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。

2.Redis的应用场景

1、会话缓存(最常用)
2、消息队列(poppush)
3、发布、订阅消息(pub/sub)

(Redis虽然可以封装成队列,但是不建议用Redis做消息队列。因为在生产环境中如果要保证一致性,光靠Redis是远远不够的,我们必须话大力气去做一致性补偿和异步幂等的工作,如果这样的话,就不如用一个正经的MQ来做更实际,RabbitMQ,Kafka等都可以)

3.Docker安装Redis

 

1、搜索源

docker search redis

2、下载源

docker pull redis

3、创建并启动myredis容器(设置端口才可以连接)

docker run -d -p 6379:6379 -it   --name="myredis"  redis


4、进入myredis容器

docker  exec -it myredis  redis-cli

4.Redis数据类型

Redis一共支持五种数据类:string(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted set 有序集合)。

(1)string(字符串)
它是redis最基本的数据类型,一个key对应一个value,需要注意是一个键值最大存储512MB。

(2)hash(哈希)
redis hash是一个键值对的集合, 是一个string类型的field和value的映射表,适合用于存储对象

 

(3)list(列表)
是redis简单的字符串列表,它按插入顺序排序

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

 

 (4)Redis 集合(Set)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

 

(5)Redis 有序集合(sorted set)

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

 

5.Reids发布订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

Redis 客户端可以订阅任意数量的频道。

下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:

 

 当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:

 

 

 

posted @ 2018-12-02 23:30  Quebra  阅读(610)  评论(0编辑  收藏  举报