随笔分类 -  Redis

深入了解Redis(8)-高可用方案
摘要:生产环境中的redis基本都是多节点部署,本文只讨论redis高可用的三种方案,不涉及实际操作。 一、主从复制(一主一从,一主多从,级联结构) (图来源于网络) 一个Master,两个Slave,Slave只能读不能写;当Slave与Master断开后需要重新slave of连接才可建立之前的主从关 阅读全文

posted @ 2020-10-30 18:50 家有四只胖加菲 阅读(949) 评论(0) 推荐(1)

深入了解Redis(7)-缓存穿透,雪崩,击穿
摘要:redis作为一个内存数据库,在生产环境中使用会遇到许多问题,特别是像电商系统用来存储热点数据,容易出现缓存穿透,雪崩,击穿等问题。所以实际运用中需要做好前期处理工作。 一、缓存雪崩 1、概念 缓存雪崩,是指在某一个时间段,缓存集中过期失效。其实这个挺好理解的,举个例子,假如我们把首页的热点数据都设 阅读全文

posted @ 2020-10-15 15:43 家有四只胖加菲 阅读(333) 评论(2) 推荐(0)

深入了解Redis(6)-持久化原理
摘要:Redis是一个内存数据库,数据保存在内存中。但我们都知道存储在内存中的数据会因为外部因素而丢失,所以Redis会把数据持久化到磁盘中,至于是如何持久化呢? 一、RDB 1.手动触发 save:该命令会阻塞当前Redis服务器,执行save命令期间,Redis不能处理其他命令,直到RDB过程完成为止 阅读全文

posted @ 2020-09-29 15:37 家有四只胖加菲 阅读(835) 评论(0) 推荐(0)

深入了解Redis(5)-内存回收
摘要:了解redis内存回收之前,需要先了解过期键删除策略。 过期键删除策略 1.定时删除 在设置键的过期时间的同时,创建一个timer,在定时器在键的过期时间到达时,立即执行对键的删除操作。内存友好型策略,一旦键过期,就会被删除,并释放所占用的内存,Cpu 不友好,当一批数量比较多的键过期时,正好遇上C 阅读全文

posted @ 2020-09-23 15:40 家有四只胖加菲 阅读(359) 评论(0) 推荐(0)

深入了解Redis(4)-类型检查与命令多态
摘要:Redis 中用于操作键的命令基本上可以分为两种类型。 其中一种命令可以对任何类型的键执行, 比如说 DEL 命令、 EXPIRE 命令、 RENAME 命令、 TYPE 命令、 OBJECT 命令, 等等。 而另一种命令只能对特定类型的键执行, 比如说: SET 、 GET 、 APPEND 、  阅读全文

posted @ 2020-09-13 23:58 家有四只胖加菲 阅读(223) 评论(0) 推荐(0)

深入了解Redis(3)-对象
摘要:Redis主要的数据结构有简单动态字符串(SDS)、双端链表、字典、压缩列表、整数集合,等等。但Redis并没有直接使用这些数据结构来实现键值对数据库, 而是基于这些数据结构创建了一个对象系统, 这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象, 每种对象都用到了至 阅读全文

posted @ 2020-08-28 16:51 家有四只胖加菲 阅读(271) 评论(0) 推荐(0)

深入了解Redis(2)-rehash与渐进式rehash
摘要:内容摘抄《Redis设计与实现》 一、字典 了解redis的扩容之前,需要先了解redis哈希表的底层实现:字典。 Redis 字典所使用的哈希表由 dict.h/dictht 结构定义: typedef struct dictht { // 哈希表数组 dictEntry **table; // 阅读全文

posted @ 2020-08-04 17:47 家有四只胖加菲 阅读(707) 评论(0) 推荐(0)

深入了解Redis(1)-字符串底层实现
摘要:一.简单动态字符串(SDS) Redis中字符串实现有两种方式,C语言传统字符串(以空字符结尾的字符数组)和简单动态字符串(SDS),并将SDS作为默认字符串表示. C字符串只会作为字符串字面量,用在一些无需对字符串值进行修改的地方,比如打印日志: redisLog(REDIS_WARNING,"R 阅读全文

posted @ 2020-08-03 11:56 家有四只胖加菲 阅读(462) 评论(0) 推荐(0)

导航