Redis
文章平均质量分 84
落小渔
我站在1楼,有人骂我,我听到了很生气。
我站在10楼,有人骂我,我听不清,还以为他在跟我打招呼。
我站在100楼,有人骂我,我放眼望去,只有尽收眼底的风景。
一个人之所以会痛苦,是因为他没有高度。
高度不够,看到的都是问题,格局太小,纠结的都是鸡毛蒜皮
展开
-
redis的过期策略【转】
转:Redis的过期策略以及内存淘汰机制_Felix-CSDN博客_redis过期策略和内存淘汰机制 我们知道,redis中缓存的数据是有过期时间的,当缓存数据失效时,redis会删除过期数据以节省内存,那redis是怎样删除过期数据的?删除过期数据的策略是什么?这就是我们今天要讨论的第一个问题:Redis过期策略。 redis为什么这么快,原因之一就是Redis操作都是基于内存的,既然是基于内存的,而内存的大小是有限的,当内存不足或占用过高时,怎么办?这就是我们今天要讨论的第二个问题:Redis的.转载 2022-03-14 10:39:28 · 9052 阅读 · 1 评论 -
redis AOF疑问、超时
1. BGREWRITE: 在后台(子进程)重写 AOF, 不会阻塞工作线程,能正常服务,此方法最常用。 2. 那么使用AOF会不会出现一些其他问题? 重写 AOF Buffer 是个不限大小的 buffer,但用户写入的数据量较多时会出现以下两个问题: 占用过多内存,浪费资源; 主进程将 AOF buffer 数据写入到新 AOF 文件中时会阻塞工作线程,用户正常请求的延时会变高,严重情况下会超时,主备同步也会出问题,断开重连,重新同步等。 3. redis 超时问题 .原创 2022-02-28 18:12:07 · 694 阅读 · 0 评论 -
redis 集群、分布式锁
1. redis 主从同步 数据可以从主服务器向任意数量的从服务器上同步 全量复制:Redis全量复制一般发生在Slave初始化阶段,这时Slave需要将Master上的所有数据都复制一份 完成上面几个步骤后就完成了从服务器数据初始化的所有操作,从服务器此时可以接收来自用户的读请求。 增量复制: 配置:只要在从节点里面配置上Master节点的ip地址。那么当从节点进行restart的时候 .会自动发起主从同步 2. sentien「哨兵」模式 Redis的主从复制..原创 2022-02-24 19:27:46 · 1952 阅读 · 0 评论 -
redis 缓存相关?
1. 缓存穿透 指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。 解决方案: i. 查询返回的数据为空,仍把这个空结果进行缓存,但过期时间会比较短 ii. 布隆过滤器:将所有可能存在的数据哈希到一个足够大的 bitmap 中,一个一定不存在的数据会被这个 bitmap 拦截掉,从而避免了对 DB 的查询。 2. 缓存击穿 3. 缓存雪崩 同一时间大面积失效,那一瞬间Redis跟没有一.原创 2022-02-24 11:17:41 · 476 阅读 · 0 评论 -
redis string\list数据结构 持久化
1. string redis 设计了一种简单动态字符串(SDS)来作为底层实现 typedef char *sds; struct sdshdr { // buf 已占用长度 int len; // buf 剩余可用长度 int free; // 实际保存字符串数据的地方 char buf[]; }; 二进制安全(只关心二进制化的字符、不关心具体格式,不会遇到\0进行停止,获取长度通过sds->len)、减少内存分配(动态空间预分原创 2022-02-23 11:36:07 · 468 阅读 · 0 评论 -
3. 《剑指Java面试-Offer直通车》--Redis
redis采用的是单进程、单线程模型的 kv数据库,由c语言编写,将数据存储在内存里面,读写数据的时候,不会受限于硬盘io的速度限制 redis不使用表,它的数据库不会预定义,不会要求redis对存储的不同数据进行关联 ,所以:性能相对于关系型数据库要高出很多,其存储结构就是键值对,类似于hashmap redis采用单线程,一般在面对并发场景用多个线程来处理,将io线程和业务线程分开,业务线程使用线程池,避免频繁创建和销毁线程,即便一次请求阻塞,也不会影响到其他请求 redis...原创 2022-01-15 11:53:58 · 563 阅读 · 1 评论 -
redis zset数据结构理解
参考:Redis数据结构之ziplist - 三石雨 - 博客园 sortedset的两种编码分别是ziplist和skiplist 【根据情况选择具体使用哪一种编码】 1. ziplist 我们从 添加一个有序元素 zadd key score member 命令上就可以发现 key,score,member是同时设置的,score和member是同时作为value被存在list里面,member放在第一个节点,score放在第二个节点。ziplist内的集合元素按score从小到大排序,.原创 2022-02-23 11:27:16 · 1380 阅读 · 0 评论