Redis学习总结
文章平均质量分 94
技术路上的苦行僧
不怕别人天赋比你高,就怕别人比你更努力
展开
-
Redis学习总结(10)之过期删除策略和内存淘汰机制
我们知道,redis中缓存的数据是有过期时间的,当缓存数据失效时,redis会删除过期数据以节省内存,那redis是怎样删除过期数据的?删除过期数据的策略是什么?这就是我们今天要讨论的第一个问题:Redis过期策略。redis为什么这么快,原因之一就是Redis操作都是基于内存的,既然是基于内存的,而内存的大小是有限的,当内存不足或占用过高时,怎么办?这就是我们今天要讨论的第二个问题:Redis的内存淘汰机制。一、过期删除策略设置key的过期时间,超...原创 2021-11-18 11:29:59 · 1146 阅读 · 0 评论 -
Redis学习总结(9)之布隆过滤器与布谷鸟过滤器
大家都知道,在计算机中,IO一直是一个瓶颈,很多框架以及技术甚至硬件都是为了降低IO操作而生,今天聊一聊过滤器,先说一个场景:我们业务后端涉及数据库,当请求消息查询某些信息时,可能先检查缓存中是否有相关信息,有的话返回,如果没有的话可能就要去数据库里面查询,这时候有一个问题,如果很多请求是在请求数据库根本不存在的数据,那么数据库就要频繁响应这种不必要的IO查询,如果再多一些,数据库大多数IO都在响应这种毫无意义的请求操作,那么如何将这些请求阻挡在外呢?过滤器由此诞生。其实...转载 2021-11-15 18:05:16 · 631 阅读 · 0 评论 -
Redis学习总结(8)之跳跃表
一、redis为什么用跳表而不用平衡树?本文是《Redis内部数据结构详解》系列的第六篇。在本文中,我们围绕一个Redis的内部数据结构——skiplist展开讨论。 Redis里面使用skiplist是为了实现sorted set这种对外的数据结构。sorted set提供的操作非常丰富,可以满足非常多的应用场景。这也意味着,sorted set相对来说实现比较复杂。同时,skiplist这种数据结构对于很多人来说都比较陌生,因为大部分学校里的算法...转载 2021-11-09 16:09:47 · 243 阅读 · 0 评论 -
Redis学习总结(7)之常见使用场景
一、前言Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库。在之前的博文中已经介绍了redis了,大家有需要的可以自行查阅。二、缓存在目前的互联网网站中,缓存几乎是网站都在用的,合理的使用缓存不但可以提升网站访问速度,还可以大大降低数据库的压力。Redis不仅提供了键过期功能,也提供了灵活的键淘汰策略,而且拥有相比m...原创 2019-02-26 15:04:55 · 230 阅读 · 0 评论 -
Redis学习总结(6)之高可用(主从、哨兵、集群)搭建
一、前言Redis的发展可以从版本的变化看出来,从1.X的主从模式,到2.X的哨兵模式,再到今天3.X的集群模式,可以说这些都是Redis保证数据可靠性、高可用的思路。下面我们来简单实践下。环境说明:这里准备了4台Centos Linux,装有redis的3.0版本。二、主从模式搭建Redis早期用于保证数据可靠性的一种简单方式。具体来说,Master可用于写、读,而Slave一般只用...原创 2019-02-26 14:56:52 · 262 阅读 · 0 评论 -
Redis学习总结(5)之redis.conf配置文件说明
一、前言接下来,我们就来讲解下redis配置文件的各个配置项的含义,注意,本文是基于redis-3.0.0版本进行讲解的。redis官方提供的redis.conf文件,足有700+行,其中100多行为有效配置行,另外的600多行为注释说明。首先明确了一些度量的单位。Redis的配置文件大概被分为几块大的区域,他们分别是:通用(general) 快照(snapshotting) ...原创 2019-02-26 14:39:55 · 14856 阅读 · 4 评论 -
Redis学习总结(4)之主从复制
一、前言Redis 支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。1) master 可以有多个 slave。2) 除了多个 slave 连到相同的 master 外,slave 也可以连接其它 slave 形成图状结构。3) 主从复制不会阻塞 master。也就是说当一个或多个 slave 与 master 进行初次同步数据时,master 可以继续处理客户端发来的请求...原创 2019-02-26 13:45:39 · 227 阅读 · 0 评论 -
Redis学习总结(3)之持久化操作
一、前言Redis提供了两种持久化方式,一个是RDB(Redis DataBase) 和AOF ( Append Only File)RDB,简而言之,就是在不同的时间点,将redis某一时刻存储的数据生成快照并且存储在磁盘等介质上。AOF,就是换一种方式来实现持久化,那就是将redis执行过的所有写的指令保存下来,在redis下次重启时,将所有的指令再执行一遍,那么数据就可以进行恢复...原创 2019-02-26 10:07:52 · 278 阅读 · 0 评论 -
Redis学习总结(2)之Redis数据结构
一、前言Redis是一种高级的key-value存储系统,其中支持五中数据类型:字符串(String) 字符串列表(list) 字符串集合(set) 有序字符串集合(sorted set) 哈希(hashes)有关于可以,有几点需要注意的,1.key不要太长,尽量不要超过1024个字节,这不仅消耗内存,而且会降低查询效率。2.key也不要太短,太短的话,会降低可读性。3.在同一个...原创 2019-02-26 09:47:34 · 305 阅读 · 1 评论 -
Redis学习总结(1)之Redis安装
一、前言Redis是一个key-Value存储系统。和memcahed类似,他支持的存储的value类型相对更多,包括String(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove以及取交集并集和差集以及更丰富的操作。而这些操作都是原子性的。在此基础上,redis支持各种不...原创 2019-02-26 09:34:48 · 282 阅读 · 0 评论