<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ja_nus_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ja_nus_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ja_nus_]]></copyright><item><title><![CDATA[RocketMQ5 基于时间轮的延迟消息]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/150122461</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/150122461</guid><author>ja_nus_</author><pubDate>Sun, 10 Aug 2025 01:05:08 +0800</pubDate><description><![CDATA[RocketMQ老版本的延迟消息是基于定时任务扫描任务实现的，而RocketMQ 5 的延迟消息是基于时间轮实现的。]]></description><category></category></item><item><title><![CDATA[十、Redis的过期策略、淘汰策略]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148818406</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148818406</guid><author>ja_nus_</author><pubDate>Sun, 22 Jun 2025 00:01:56 +0800</pubDate><description><![CDATA[我们都知道Redis所有的数据结构都可以设置过期时间，时间一到，就会自动删除。但是当Redis的key过期的时候，具体是怎么处理的呢，如何让这个key失效的？过期策略所有的key的过期时间和key的信息都会存放到一个过期字典里面。这个过期策略有两种，分为主动的和被动的。主动的就是有个定时任务去删除这个节点，被动的就是惰性删除，当访问到这个key的时候，顺带检查其有没有过期，过期了就删除。]]></description><category></category></item><item><title><![CDATA[九、Redis集群模式-Cluster]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148812864</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148812864</guid><author>ja_nus_</author><pubDate>Sat, 21 Jun 2025 18:20:49 +0800</pubDate><description><![CDATA[不同于前面的两种集群模式:主从复制、哨兵模式。Cluster集群模式是官方力推的模式。]]></description><category></category></item><item><title><![CDATA[八、Redis的主从原理、哨兵]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148811406</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148811406</guid><author>ja_nus_</author><pubDate>Sat, 21 Jun 2025 17:26:01 +0800</pubDate><description><![CDATA[想要了解Redis的主从原理，首先得认识一个基本的分布式理论-CAP理论。要理解这个理论，其实也非常简单。]]></description><category></category></item><item><title><![CDATA[七、Redis的持久化策略]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148810431</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148810431</guid><author>ja_nus_</author><pubDate>Sat, 21 Jun 2025 15:54:41 +0800</pubDate><description><![CDATA[Redis这个缓存存放的数据是存到内存的，假如宕机了，那么就会数据丢失。如何避免这种情况呢？由此，Redis推出了两种持久化机制。第一种机制就是以二进制序列形式存储数据的RDB快照，第二种机制就是以命令形式存放的aof日志。那么Redis为什么不推出一种统一的持久化机制，而是采用了两种呢？其实就是对应不同的两种使用场景。设想一种场景，Redis机器重启时，这时候需要重新加载所有的数据来恢复内存。但有一种场景，不需要重新加载数据，而只需要加载的数据。]]></description><category></category></item><item><title><![CDATA[六、Redis的Pipeline]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148727248</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148727248</guid><author>ja_nus_</author><pubDate>Wed, 18 Jun 2025 01:14:23 +0800</pubDate><description><![CDATA[什么是pipeline？简单来讲就是批处理技术。处理请求时，不会一个一个处理。而是一次性处理一批请求。这种思想在mysql批处理请求中，也有体现。可以看出来管道节省了网络交互次数，等待时间，以及网络资源的消耗。是一种常见的优化性能的方式。]]></description><category></category></item><item><title><![CDATA[五、Redis的IO模型]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148726752</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148726752</guid><author>ja_nus_</author><pubDate>Wed, 18 Jun 2025 00:49:26 +0800</pubDate><description><![CDATA[在谈及Redis为什么快的时候，很多人都只觉得redis是基于内存，所以快。但他们往往不知道，决定redis快的因素，还有它的IO模型-Reactor模型。谈及Redis的IO模型之前，先补充一下IO模型的基础知识。]]></description><category></category></item><item><title><![CDATA[四、Redis实现限流]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148703523</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148703523</guid><author>ja_nus_</author><pubDate>Tue, 17 Jun 2025 00:29:55 +0800</pubDate><description><![CDATA[简介：简介：限流算法在分布式领域是一个经常被提起的话题，当系统的处理能力有限时，如何阻止计划外的请求继续对系统施压。系统要限定用户的某个行为在指定的时间里只能允许发生 N 次，如何使用 Redis 的数据结构来实现这个限流的功能？固定窗口比如我们规定我们的一个接口一分钟只能访问10次的话。]]></description><category></category></item><item><title><![CDATA[三、一些好用的数据结构]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148702611</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148702611</guid><author>ja_nus_</author><pubDate>Mon, 16 Jun 2025 23:51:02 +0800</pubDate><description><![CDATA[Redis有一些特殊的数据结构，在特定的业务场景具有奇效，能起到减少存储空间、且功能实现简单快捷的作用。]]></description><category></category></item><item><title><![CDATA[二、Redis的分布式锁]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148678774</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148678774</guid><author>ja_nus_</author><pubDate>Mon, 16 Jun 2025 00:58:12 +0800</pubDate><description><![CDATA[分布式锁本质上要实现的目标就是在Redis里面进行一个占位，当别的进程也要来占有时，发现已经有位置了，就只好放弃或者稍后再试。实现指令实现分布式锁的指令是set nx ex。即set if not exists expire的缩写。注意这个指令是一起执行，并不是先执行set nx 再执行ex，因为假如服务设置setnx 时挂了，还没来得及设置ex，那么此时就会没有过期时间。进而导致锁不释放，甚至可能死锁。]]></description><category></category></item><item><title><![CDATA[一、Redis的五种基本数据结构]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148672988</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148672988</guid><author>ja_nus_</author><pubDate>Sun, 15 Jun 2025 22:38:54 +0800</pubDate><description><![CDATA[Redis 所有的数据结构都是以唯一的 key 字符串作为名称，然后通过这个唯一 key 值来获取相应的value数据。不同类型的数据结构的差异就在于 value 的结构不一样。String的底层结构是动态字符串，是可以修改的字符串，内部结构实现上类似于Java的 ArrayList，采用预分配冗余空间的方式来减少内存的频繁分配，内部为当前字符串实际分配的空间capacity一般要高于实际字符串长度len。当字符串长度小于1M时，扩容都是加倍现有的空间，如果超过1M。]]></description><category></category></item><item><title><![CDATA[Redis简介]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148517822</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148517822</guid><author>ja_nus_</author><pubDate>Sun, 08 Jun 2025 20:33:35 +0800</pubDate><description><![CDATA[Redis 是一种基于内存的数据库，对数据的读写操作都是在内存中完成，因此，常用于。]]></description><category></category></item><item><title><![CDATA[十、Kafka的高吞吐]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148517396</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148517396</guid><author>ja_nus_</author><pubDate>Sun, 08 Jun 2025 19:55:26 +0800</pubDate><description><![CDATA[1.：当生产者发送消息到 Kafka broker 时，这些消息首先被写入到内存中的缓存，即操作系统的 PageCache。PageCache 是操作系统用于缓存文件数据的内存区域，可以显著提高文件读写的性能。2.：消息在 PageCache 中积累到一定量后，Kafka 会异步地将这些消息从缓存写入到磁盘上。这种异步操作意味着消息的写入磁盘过程不会阻塞生产者发送消息的操作，从而提高了整体的处理速度。3.]]></description><category></category></item><item><title><![CDATA[九、消费者组状态机和Rebalance流程]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148515719</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148515719</guid><author>ja_nus_</author><pubDate>Sun, 08 Jun 2025 19:36:23 +0800</pubDate><description><![CDATA[在理解Rebalance全流程之前，需要了解消费者组的状态流转这个前置知识。]]></description><category></category></item><item><title><![CDATA[todo~]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148515320</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148515320</guid><author>ja_nus_</author><pubDate>Sun, 08 Jun 2025 17:05:52 +0800</pubDate><description><![CDATA[todo~]]></description><category></category></item><item><title><![CDATA[InnoDB数据页结构]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148515302</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148515302</guid><author>ja_nus_</author><pubDate>Sun, 08 Jun 2025 17:04:48 +0800</pubDate><description><![CDATA[页，它是InnoDB管理存储空间的基本单位，⼀个页的大小⼀般是16KB。InnoDB为了不同的目的而设计了许多种不同类型的页，比如存放表空间头部信息的页，存放Insert Buffer信息的页，存放INODE信息的页，存放undo日志信息的页等等。]]></description><category></category></item><item><title><![CDATA[todo~]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148515222</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148515222</guid><author>ja_nus_</author><pubDate>Sun, 08 Jun 2025 16:58:09 +0800</pubDate><description><![CDATA[todo~]]></description><category></category></item><item><title><![CDATA[todo~]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148515202</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148515202</guid><author>ja_nus_</author><pubDate>Sun, 08 Jun 2025 16:56:52 +0800</pubDate><description><![CDATA[todo。]]></description><category></category></item><item><title><![CDATA[八、Kafka的请求是如何处理的]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/148514357</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/148514357</guid><author>ja_nus_</author><pubDate>Sun, 08 Jun 2025 16:37:32 +0800</pubDate><description><![CDATA[对于如何处理请求，我们很容易想到的两个方案。]]></description><category></category></item><item><title><![CDATA[七、Kafka副本机制]]></title><link>https://blog.youkuaiyun.com/ja_nus_/article/details/147257479</link><guid>https://blog.youkuaiyun.com/ja_nus_/article/details/147257479</guid><author>ja_nus_</author><pubDate>Tue, 15 Apr 2025 20:35:31 +0800</pubDate><description><![CDATA[所谓的副本机制（Replication），也可以称之为备份机制，通常是指：分布式系统在多台网络互联的机器上保存有相同的数据拷贝。副本机制有什么好处呢?但Kafka的副本机制只能保证数据冗余，无法提升读性能和其他优点。为什么呢？]]></description><category></category></item></channel></rss>