![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Redis
Redis
Xzzz2020
个人博客地址:https://xzzz2020.gitee.io/,可以收藏一下,会第一时间发布文章
展开
-
Redis 缓存设计与优化
一、缓存的收益与成本 1.1 收益 主要有以下两大收益。 加速读写:通过缓存加速读写,如 CPU L1/L2/L3 的缓存、Linux Page Cache 的读写、游览器缓存、Ehchache 缓存数据库结果。 降低后端负载:后端服务器通过前端缓存来降低负载,业务端使用 Redis 来降低后端 MySQL 等数据库的负载。 1.2 成本 产生的成本主要有以下三项。 数据不一致:这是因为缓存层和数据层有时间窗口是不一致的,这和更新策略有关的。 代码维护成本:这里多了一层缓存逻辑,就会增加成本。 运维费原创 2020-05-17 16:50:51 · 210 阅读 · 0 评论 -
Redis-Cluster
目录一、呼唤集群二、数据分布2.1 为什么要做数据分布2.2 常用数据分布方式之顺序分布2.3 常用数据分布方式之哈希分布2.3.1 节点取余分区2.3.2 一致性哈希分区2.3.3 虚拟槽分区2.3.4 总结2.4 两种分布的对比三、Redis Cluster基本架构3.1 简介3.2 meet操作3.3 分配槽四、集群伸缩五、客户端路由5.1 moved重定向5.1.2 槽命中:直接返回5.1.3 槽不命中:moved异常5.2 ask重定向5.3 smart智能客户端六、批量操作实现6.1 串行mge原创 2020-05-17 14:42:31 · 312 阅读 · 0 评论 -
Redis Sentinel
目录主从复制高可用问题主从复制-master宕掉Redis Sentinel架构配置 主从复制高可用问题 手动故障转移 就是一旦主节点出现故障,那么故障转移基本上是需要手工来完成的。 写能力和存储能力受限 写只能写在一个节点上,而且存储也是在一个节点上进行存储。(分布式解决) 主从复制-master宕掉 当master发生宕机时,那么复制也必然断掉了,而从节点与主节点的连接肯定也是失败的,这样数据的读取是正常的,但是数据的更新就无法保障了。 首先要选择一个slave执行命令 slave n原创 2020-05-16 21:04:51 · 124 阅读 · 0 评论 -
Redis的复制原理及优化
目录单机有什么问题?1. 机器故障2. 容量瓶颈3. QPS瓶颈主从复制的作用一主一从一主多从读写分离总结主从复制的配置slaveof命令修改配置配置主节点的IP和端口号全量复制全量复制的开销 单机有什么问题? 单机即在一台机器上部署一个redis节点,主要会存在以下问题: 1. 机器故障 如果发生机器故障,例如磁盘损坏,主板损坏等,未能在短时间内修复好,客户端将无法连接redis。 当然如果仅仅是redis节点挂掉了,可以进行问题排查然后重启,姑且不考虑这段时间对外服务的可用性,那还是可以接受的。 而发生原创 2020-05-16 17:14:54 · 165 阅读 · 0 评论 -
Redis持久化的取舍和选择
目录持久化的作用一、RDB(默认)触发机制 - 主要三种方式save命令bgsave命令(异步)自动生成RDB两种方式对比其他触发总结二、AOFRDB的问题耗时、耗性能不可控、丢失数据AOF运行原理AOF的三种策略三种策略选择AOF重写AOF重写作用AOF重写实现两种方式AOF重写流程AOF相关配置RDB VS AOF 持久化的作用 redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘上。 有两种方式可以选择: 一、RDB(默认) 什么是RDB? 通过一条命令将当前redis内存数据完整的生成原创 2020-05-16 15:36:02 · 437 阅读 · 0 评论 -
瑞士军刀Redis
目录主要功能慢查询生命周期配置pipeline介绍与原生M操作使用建议发布订阅简介相关API消息队列 VS 发布订阅总结:Bitmap(位图)简介相关API举例:独立用户统计总结HyperLogLog三个命令总结GEO简介相关API 主要功能 慢查询 生命周期 如图所示为客户端请求到Redis的完整生命周期:发送命令、排队、执行命令、返回结果 配置 有两点说明: 慢查询发生在第三阶段(也就是说其他阶段像排队耗时都不算) 客户端超时不一定慢查询,因为这四个过程都可能造成超时,但慢查询是客户端超时的一个可原创 2020-05-16 10:50:51 · 253 阅读 · 0 评论 -
Redis API的使用和理解
目录通用命令单线程数据结构字符串场景常用操作实战1实战2实战3hash常用操作(与String类似)String VS HashList重要API实战小技巧Set重要API实战1实战2Zset集合 VS 有序集合列表 VS 有序集合重要API实战 通用命令 keys [parten] :获得数据库中所有的键--------(O(n),一般不会用) dbsize:算出key的总数 exists key:判断key是否存在,存在返回1 del [key ... ]:删除多个key expire key se原创 2020-05-14 21:36:43 · 174 阅读 · 1 评论 -
Redis初识
Redis是什么 开源 基于键值的存储服务系统 多种数据结构 高性能、功能丰富 Redis的特性 速度快 持久化 多种数据结构 支持多种编程语言 主从复制 高可用、分布式 速度快 读写性能优异, Redis能读的速度是110000次/s,写的速度是81000次/s。 原因: 数据是存放在内存中(主要原因) 使用C语言实现 使用单线程的线程模型 持久化(断电数据不丢失) Redis将所有的数据保存在内存中,对数据的更新将异步的保存在磁盘中,支持AOF和RDB两种持久化方式。 多种数据结构 除了支原创 2020-05-14 15:00:14 · 168 阅读 · 0 评论