Redis
安心撸码
这个作者很懒,什么都没留下…
展开
-
Redis持久化方案RDB和AOF
Redis 持久化之RDB和AOFRedis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可以直接跳到文章底部看总结。本章节通过配置文件,触发快照的方式,恢复数据的操作,命令操作演示,优缺点来学习 Redis 的重点知识持久化。RDB 详解RDB 是 Redis 默认的持久化方案。在指...原创 2019-11-10 16:43:13 · 148 阅读 · 0 评论 -
Redis六种数据淘汰策略
Redis提供了6种数据淘汰策略: volatile-lru:使用LRU算法进行数据淘汰(淘汰上次使用时间最早的,且使用次数最少的key),只淘汰设定了有效期的key allkeys-lru:使用LRU算法进行数据淘汰,所有的key都可以被淘汰; volatile-random:随机淘汰数据,只淘汰设定了有效期的key; allkeys-random:随机淘汰...原创 2019-11-10 16:14:22 · 759 阅读 · 0 评论 -
Redis哨兵模式
目录一、Redis Sentinel(哨兵)介绍二、哨兵模式搭建三、示例代码Sentinel(哨兵)是Redis的高可用解决方案:由一个或多个Sentinel实例组成的Sentinel系统可以监视多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理...原创 2019-11-10 15:23:35 · 153 阅读 · 0 评论 -
Redis主从复制的工作原理
全量同步Redis全量复制一般发生在从服务器(Slave)初始化阶段, Slave需要将主服务器(Master)上的所有数据都复制一份。具体步骤如下:1)从服务器连接主服务器,发送SYNC命令;2)主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令;3)主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继...原创 2019-07-14 14:37:12 · 190 阅读 · 0 评论 -
Redis五大数据类型详解
一、字符串类型(String)1.介绍: 字符串类型是 Redis 中最基本的数据类型,可以存储二进制数据、图片和 Json 的对象。 字符串类型也是其他 4 种数据库类型的基础,其它数据类型可以说是从字符串类型中进行组织的,如:列表类型是以列表的形式组织字符串,集合类型是以集合的形式组织字符串。2.命令:【备注】包括 INCR 在内的所有 Redis 命令都是原子操作...原创 2019-07-15 08:45:46 · 135 阅读 · 0 评论 -
Redis速度快的原因分析
一. 开发语言现在我们都用高级语言来编程,比如Java、python等。也许你会觉得C语言很古老,但是它真的很有用,毕竟unix系统就是用C实现的,所以C语言是非常贴近操作系统的语言。Redis就是用C语言开发的,所以执行会比较快。二. 纯内存访问Redis将所有数据放在内存中,非数据同步正常工作中,是不需要从磁盘读取数据的,0次IO。内存响应时间大约为100纳秒,这是Redis速度快...原创 2019-07-16 16:11:19 · 2034 阅读 · 0 评论 -
如何保证缓存与数据库的双写一致性?
问题一般来说,如果允许缓存可以稍微的跟数据库偶尔有不一致的情况,也就是说如果你的系统不是严格要求 “缓存+数据库” 必须保持一致性的话,最好不要做这个方案,即:读请求和写请求串行化,串到一个内存队列里去。串行化可以保证一定不会出现不一致的情况,但是它也会导致系统的吞吐量大幅度降低,用比正常情况下多几倍的机器去支撑线上的一个请求。缓存+数据库读写模式最经典的缓存+数据库读写的模式,就...原创 2019-07-29 23:18:08 · 70 阅读 · 0 评论 -
缓存穿透、雪崩解决方案及缓存击穿的四种解决方案
前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案有...原创 2019-07-30 10:52:00 · 317 阅读 · 0 评论