Redis
Pennhhe
对时间有耐心
展开
-
【Redis】01Redis的数据类型
1. 字符串 set key value 二进制安全,string 可以包含任何数据,jpg图片,序列化对象 最大不能超过512MB 1.1 应用场景 商品编号、订单号采用string的递增数字特性生成。 定义: key: items:id INCR items:id 2. 哈希 hset key field value 键值对的集合 适合存储对象 2.1 应用场景 存储商品的信息 商品信息字...原创 2019-05-08 14:06:49 · 95 阅读 · 0 评论 -
【Redis】02 什么是Redis持久化?Redis有哪几种持久化?优缺点是什么?
1. 什么是持久化? 持久化把内存中的数据存储到硬盘中,有效避免进程退出造成的数据丢失。 2. 持久化的方式 2.1 RDB Redis DataBase 功能核心函数, rdbSave rdbLoad 把当前进程的快照数据保存到硬盘中 2.1.1 优点 代表Redis某个时间点上的数据快照。 用户备份,全量复制 Redis 加载RDB恢复数据远远快于AOF 2.1.2 缺点 无法做到实...原创 2019-05-08 14:13:03 · 1286 阅读 · 0 评论 -
【Redis】03 Redis通讯协议RESP是什么?有什么特点?
Redis 的 客户端和服务端之间采用了一种独立名为Redis Serilization Protocol。 Redis 客户端向服务端方的一组有执行命令组成的字符串数组。服务端你根据不同的命令回复不同类型的数据。但是协议的每部分都是以\r\n结尾。 RESP是二进制安全的,不需要处理从一个进程到另一个进程的传输。因为它使用了最长前缀进行传输。 3.1 特点 容易实现 解析快 人类可读 ...原创 2019-05-08 14:16:08 · 863 阅读 · 0 评论 -
【Redis】04 Redis的架构模式
4.1 主从复制 1. 结构图 2. 说明 主的redis的数据有两个副本,redis1 和 redis2 主redis 和 从redis 的数据保持实时同步。主写入数据,数据会同步到从节点 一主多从。 主从复制不会阻塞主节点。同步数据的时候,主节点可以继续处理客户端的请求。 一个节点可以既主又从。 3. 配置 主节点无需修改。从节点运行: slaveof 4. 实现原理 Redis...原创 2019-05-08 15:16:32 · 1326 阅读 · 0 评论 -
【Redis】05 Redis集群
1. 架构图 2. 哈希分区 2.1 一致性哈希分区 每个节点分配token 数据读写时,根据key计算hash值,顺时针查找第一个大于等于该哈希值的token 2.2 虚拟槽分区 键根据哈希函数映射到槽内。 每个节点负责一部分槽以及槽所映射的键值数据 3. 集群添加kv步骤 key crc16 算出值 % 16384 =>哈希槽 k-v 放到某个哈希槽 4. 集群投票...原创 2019-05-08 15:55:26 · 101 阅读 · 0 评论 -
【Redis】06 Redis常见问题
1. 什么是缓存穿透?如何避免? 缓存穿透,就是缓存查不到,去查后端。对后端系统压力很大。 解决方案 查询结果为空的情况进行缓存,缓存时间设置的短一点。 对一定不存在的key进行过滤。布隆表达式。 2. 什么是缓存雪崩,如何避免? 缓存大量失效,会给后端压力很大。 如何避免 控制数据库写缓存的线程数量 不同的key设置不同的过期时间,让缓存失效的时间点,尽量均匀 二级缓存。A1 原始缓存,A...原创 2019-05-08 20:55:10 · 101 阅读 · 0 评论 -
【Redis】07 基于Sential的Redis高可用(Docker)
1. 基本架构 Redis 的高可用,意味着当主节点发生故障时,能够自动完成故障转移。即将一个从节点晋升为主节点,同时修改应用方的主节点地址。而Redis Sential很好的解决了这个问题,其基本架构(一主二从三哨兵)如图所示: 主要包括: Redis 数据节点,负责数据的读写。 Redis Sential 节点。 Sentinel节点会对数据节点和其余Sentinel节点进行监控,若发现...原创 2019-05-13 18:23:19 · 206 阅读 · 0 评论 -
【Redis】08. Redis 事务
Redis 事务 1. 什么是Redis 事务? 事务提供将多个命令请求打包,然后一次性,按顺序的执行多个命令。 2. 事务的阶段 事务开始 命令入队 准备执行 3. 什么是Watch? watch 观察Redis 中的多个键,如若有一个键被修改,则事务执行失败。 4. Watch 的实现原理 Redis 数据库中保存着被watch的键的列表,如果某个键被watch 了,而且在事务提交前被修改...原创 2019-05-31 13:54:59 · 85 阅读 · 0 评论