![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis系列
二码先生
做一个有灵魂的开发
展开
-
Redis系列(五)缓存雪崩、缓存穿透、缓存击穿及管道
缓存雪崩 我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期,所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机。从而形成一系列连锁反应,造成整个系统崩溃。 缓存正常从Redis中获取,示意图如下: 缓存失效瞬间示意图如下: 解决方案: (1)碰到这种情况,一般并发量不是特别多的时候,使用最多的解决方案是加锁排队,伪代码如下:...原创 2020-03-01 14:36:44 · 247 阅读 · 0 评论 -
Redis系列(四)Redis集群
在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问瞬断的情况,而且哨兵模式只有一个主节点对外提供服务,没法支持很高的并发,且单个主节点内存也不宜设置得过大,否则会导致持久化文件过大,影...原创 2020-03-01 10:57:54 · 120 阅读 · 0 评论 -
Redis系列(三)Redis主从复制
持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失, 如果通过redis的主从复制机制就可以避免这种单点故障。主从复制架构如下图 说明: 主redis中的数据有两个副本(replication)即从redis1和从redis2,即使一台redis服务器宕机其它两台redis服务也可以继...原创 2020-03-01 10:24:03 · 168 阅读 · 0 评论 -
Redis系列(二)Redis的持久化
由于redis是基于内存的数据库,所以如果发生意外将会导致数据丢失,为尽量减少数据丢失,redis提供持久化功能。 Redis 支持以下两种持久化方式 1.快照形式RDB形式。(默认开启) 2.Aof形式。命令形式存储。(需要手动开启) RDB 持久化方式 RDB文件是一个经过压缩的二进制文件。 以下为配置方式 save 开头的一行就是持久化配置,可以配置多个条件(每行配置一个条件),每个条件之...原创 2020-02-29 21:55:51 · 109 阅读 · 0 评论 -
Redis系列(一)什么是Redis及Redis常用数据结构
Redis的起源 2008年,意大利的一家创业公司Merzia推出了一款基于MySQL的网站实时统计系统LLOOGG,然而没过多久该公司的创始人 Salvatore Sanfilippo便 对MySQL的性能感到失望,于是他决定亲自为LLOOGG量身定做一个数据库,并于2009年开发完成,这个数据库就是Redis。 不过Salvatore Sanfilippo并不满足只将Redis用于LLOOGG...原创 2020-02-29 21:20:24 · 414 阅读 · 0 评论