![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
分布式缓存
文章平均质量分 77
讲解分布式知识
ayu_programer
不积硅步,无以至千里
展开
-
面试题-海量数据去重,如何实现?
布隆过滤器是一种数据结构,用于快速检索一个元素是否可能存在于一个集合(bit 数组)中。它的基本原理是利用多个哈希函数,将一个元素映射成多个位,然后将这些位设置为 1。本质上:布隆过滤器内部包含一个bit数组和多个哈希函数,每个哈希函数都会生成一个index 索引值。它由两个部分组成:一个bit数组, 存储数据多个哈希函数, 计算key的 index 索引如下图所示 这里有三个key ==》x,y,z那么问题来了:我们如何做 exist(key)这种存在性的判定呢?原创 2024-01-24 23:26:14 · 890 阅读 · 0 评论 -
01-Redis核心数据结构与高性能原理
Redis的单线程主要是指,这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能,比如。原创 2023-12-06 23:00:27 · 208 阅读 · 0 评论 -
redis事务对比Lua脚本区别是什么
Redis使用同一个Lua解释器来执行所有命令,同时,Redis保证以一种原子性的方式来执行脚本:当lua脚本在执行的时候,不会有其他脚本和命令同时执行,这种语义类似于 MULTI/EXEC。从别的客户端的视角来看,一个lua脚本要么不可见,要么已经执行完。然而这也意味着,执行一个较慢的lua脚本是不建议的,由于脚本的开销非常低,构造一个快速执行的脚本并非难事。但是你要注意到,当你正在执行一个比较慢的脚本时,所以其他的客户端都无法执行命令。原创 2023-08-15 11:23:46 · 1112 阅读 · 0 评论 -
雪花算法代码示例
雪花算法记录public class Snowflaker { public static Long mac; public static Long ip; /** * 开始时间截 (2015-01-01) */ private final static long twepoch = 1420041600000L; /** * 机器id所占的位数 */ private final static long wor原创 2022-03-31 10:39:49 · 260 阅读 · 0 评论 -
你看过Redis数据结构底层实现吗?
面试中,redis也是很受面试官亲睐的一部分。我向在这里讲的是redis的底层数据结构,而不是你理解的五大数据结构。你有没有想过redis底层是怎样的数据结构呢,他们和我们java中的HashMap、List、等使用的数据结构有什么区别呢。1. 字符串处理(string)我们都知道redis是用C语言写,但是C语言处理字符串和数组的成本是很高的,下面我分别说几个例子。没有数据结构支撑的几个问题及其容易造成缓冲区溢出问题,比如用strcat(),在用这个函数之前必须要先给目标变量分配足够的空间,否则就原创 2021-07-26 13:50:08 · 118 阅读 · 0 评论 -
缓存击穿!代码实现
之前我们说过了缓存击穿,缓存穿透及缓存雪崩的区别 见redis缓存雪崩,缓存穿透,缓存击穿场景及解决方案.今天来谈下具体缓存击穿的解决方案常规解决 方案1/*** @author hm* @date 2021/7/20*/@Servicepublic class RedisSnowSlideServiceImpl implements RedisSnowSlideService { private static final Logger logger = LoggerFactor原创 2021-07-21 00:00:08 · 218 阅读 · 0 评论 -
redis三种集群模式--主从、哨兵、cluster集群的区别
Redis 的主从模式指的就是主从复制。用户可以通过 SLAVEOF 命令或者配置的方式,让一个服务器去复制另一个服务器即成为它的从服务器。主从模式架构Redis 如何实现主从模式?Redis 的从服务器在向主服务器发起同步时,一般会使用 SYNC 或 PSYNC 命令。你启动一台slave 的时候,他会发送一个psync命令给master ,如果是这个slave第一次连接到master,他会触发一个全量复制。master就会启动一个线程,生成RDB快照,还会把新的写请求都缓存在内存中,原创 2021-07-18 08:07:53 · 10547 阅读 · 0 评论 -
redis缓存雪崩,缓存穿透,缓存击穿场景及解决方案
一、缓存雪崩1.Redis缓存雪崩了解么?您好,我了解的,目前电商首页以及一些热点数据都会去做缓存,一般来说缓存都是定时任务去刷新的或者是查不到后去更新的,定时任务刷新就有一个问题,如果所有首页的key时效时间都为12小时,中午12点刷新的,我零点有秒杀活动,假设当时每秒有6000个请求,本来缓存可以扛住每秒5000个请求,但是缓存当时所有的key都失效了,此时1秒6000个请求全部落在数据库,就直接把数据库打死了,这就是我理解的缓存雪崩2.缓存雪崩你们都是怎么处理的?在批量往redis中存数据的时原创 2021-06-14 21:04:12 · 219 阅读 · 2 评论 -
redis数据结构,持久化机制,过期策略详细解析
文章目录问题1:为啥Redis那么快么?问题2:为啥要用redis?问题3:Redis有哪些数据结构呀?问题4:redis的pub/sub有什么缺点?问题5:Redis如何实现延时队列?问题5:redis的持久化?5.1 有两种持久化机制5.2 那这两种机制各自优缺点是啥?5.3 两种持久化机制如何选择?问题6: Redis还有其他保证集群高可用的方式么?问题7:redis cluster这种主从同步的原理是啥?问题8:redis 的内存淘汰机制是啥?8.1 redis的过期策略:过期删除+惰性删除8.1原创 2021-03-20 13:10:02 · 234 阅读 · 0 评论 -
redis哨兵集群架构的核心知识及原理
文章目录一、什么是redis高可用架构?二、如何实现redis主备切换的高可用性?1.哨兵的作用2.哨兵的核心知识3.为什么redis哨兵集群只有两个节点无法正常工作?三、redis哨兵主备切换的数据丢失问题:异步复制、集群脑裂1.异步复制2.集群脑裂问题3.如何解决异步复制和脑裂导致的数据丢失?四、redis哨兵的多个核心底层原理的深入解析(包含slave选举算法)1.sdown和odown转换机制2.哨兵集群的自动发现机制3.slave到master的选举算法一、什么是redis高可用架构?re原创 2021-02-17 08:34:55 · 1742 阅读 · 4 评论 -
【Redis主从架构】Redis replication详细流程及原理深度解析
文章目录一、Redis replication复制的完整流程二、Redis的断点续传和无磁盘化复制,全量复制1.断点续传1.1 offset1.2 backlog1.3 Master run idheartbeat1.4 heartbeat2.无磁盘化复制3. 全量复制3. 增量复制一、Redis replication复制的完整流程1 slave node启动之后,仅仅只会保存master node的信息,包括master node的host 和ip,但是复制流程还没有开始。2 salve no原创 2021-02-16 22:38:51 · 643 阅读 · 2 评论