
技术专研
文章平均质量分 95
深入浅出,沉迷其中,REDIS |MYSQL|KAFKA等入门篇/基本篇及进阶篇。
一介布衣+
悦己
展开
-
(高阶) Redis 7 第21讲 IO多路复用模型 完结篇
epoll是现在最先进的IO多路复用器,Redis、Nginx,linux中的Java NIO都使用的是epoll。一个socket的生命周期中只有一次从用户态拷贝到内核态的过程,开销小使用event事件通知机制,每次socket中有数据会主动通知内核,并加入到就绪链表中,不需要遍历所有的socket。原创 2023-10-07 16:36:16 · 893 阅读 · 0 评论 -
(高阶) Redis 7 第20讲 数据类型 源码篇
intLong类型整数时,Redisobiect中的ptr指针直接赋值为整数数据,不再额外的指针再指向整数,节省指针的空间开销embstr当保存的是字符串数据且字符串小于等于44字节时,embstr类型将会调用内存分配函数,只分配一块连续的内存空间,空间依次包含 redisobiect 与 sdshdr 两个数据结构,让元数据、指针和SDS是一块连续的内存区域,避免内存碎片raw。原创 2023-10-04 18:58:31 · 280 阅读 · 0 评论 -
(高阶) Redis 7 第19讲 缓存过期淘汰策略 大厂篇
立即删除能保证内存中的数据的最大新鲜度,保证过期键值在过期后立马删除,释放占用的内存,但是消耗cpu不友好,产生大量的性能消耗,也影响数据的读取操作。最近最少使用次数置换算法,淘汰最长时间未被使用的KEY,看KEY最后一次被使用到发生调度的时间长短,首先淘汰最长时间未被使用的KEY。最近最不常用的KEY置换算法,淘汰一定时期内被访问次数最少的KEY,看一定时间段内被访问的频率,淘汰一定时间段内被访问次数最少的KEY。对所有KEY使用LRU算法进行删除,优先删除掉最近最不常用的key,用以保证新数据。原创 2023-10-03 16:39:04 · 803 阅读 · 0 评论 -
(高阶) Redis 7 第18讲 RedLock 分布式锁
Redisson 实现该方案,使用“看门狗(watch dog)”定期检查 (每1/3的锁时间检查1次),如果线程还持有锁,则刷新过期时间;在算法的分布式版本中,假设有 N 个 Redis 主节点。这些节点是完全独立的,不使用复制或任何其他隐式协调系统。额外起一个线程,定期检查线程是否还持有锁,如果有则延长过期时间。但是,从运维角度看存在一个重大问题,如果加锁的Redis 机器宕机如何处理?这篇文章来看,代码逻辑基本上完成。原创 2023-10-02 20:38:47 · 266 阅读 · 0 评论 -
(高阶) Redis 7 第17讲 分布式锁 实战篇
Redis 除了做缓存,其他基于Redis的用法。Redis 集群保证(AP高可用),Redis 单机(C: 一致性)分布式锁的常规问题及解决方案锁过期,可重入/独占/等特性原创 2023-10-02 00:02:05 · 386 阅读 · 0 评论 -
(高阶) Redis 7 第16讲 预热/雪崩/击穿/穿透 缓存篇
缓存问题产生原因解决方案缓存更新方式数据更新、缓存时效性同步更新、失效更新、异步更新、定时更新缓存不一致同步更新失败、异步更新增加重试、补偿任务、最终一致缓存穿透恶意攻击空对象缓存、BloomFilter过滤器缓存击穿热点KEY失效互斥更新、随机失效、差异失效时间缓存雪崩缓存挂掉快速失败熔断、主从模式、集群模式🌹 以上分享 Redis 缓存雪崩、击穿、穿透,如有问题请指教。🌹🌹 如你对技术也感兴趣,欢迎交流。t=N7T8。原创 2023-09-30 17:58:38 · 1315 阅读 · 0 评论 -
(高阶) Redis 7 第15讲 布隆过滤器 BitMap篇
布隆过滤器高效插入和查询哈希算法Java 实现布隆过滤器原创 2023-09-23 16:46:55 · 230 阅读 · 0 评论 -
(高阶) Redis 7 第14讲 数据统计分析 实战篇
A∩B : 属于A同时属于B的元素构成集合(SINTER key [key ....])(SINTERCARD numkeys key [key ....] [LIMIT limit])通过牺牲准确率来换取空间,对于不要求绝对准确率的场景下可以使用,因为概率算法不直接存储数据本身,通过一定的概率统计方法预估基数值,同时保证误差在一定范围内,又不储存数据可以节约内存。只是进行不重复的基数统计,不是集合也不保存数据,只记录数量而不是具体内容。多个key的合并统计,某个门户网站的所有模块的PV聚合统计。原创 2023-09-20 21:32:45 · 310 阅读 · 0 评论 -
(高阶)Redis 7 第13讲 数据双写一致性 canal篇
Redis和mysql数据一致性canal应用,参数配置,代码实例canal客户端原创 2023-09-18 22:04:44 · 665 阅读 · 0 评论 -
(高阶)Redis 7 第12讲 数据双写一致性 经验篇
数据一致性的四种策略先更数据库,再更缓存先更缓存,再更数据库先删缓存,再更数据库延时双删 看门狗先更数据库,再删缓存-原创 2023-09-15 20:51:40 · 538 阅读 · 0 评论 -
(高阶)Redis 7 第11讲 BIGKEY 优化篇
如何在海量数据中查询某一固定前缀的Key生产环境如何限制 keys */FLUSHDB/FLUSHALL 等危险命令,防止误删误用如何使用MEMORY USAGE多大算BigKey,如何发现,如何删除,如何处理BigKey 调优,惰性释放Lazyfree 了解吗MoreKey问题:数据库有1000万记录,如何遍历?keys * 可以吗scan,hscan,sscan,zscan ,redis-cli --bigkeys原创 2023-09-12 21:33:08 · 410 阅读 · 0 评论 -
(高阶)Redis 7 第10讲 单线程 与 多线程 入门篇
Redis 单线程还是多线程,Redis 如何实现多线程Redis 多路复用IO多路复用 epollIO网络模型原创 2023-09-08 21:30:32 · 685 阅读 · 0 评论 -
Redis 7 第九讲 微服务集成Redis 应用篇
redis 应用客户端,Jedis/Lettuce/RedisTemplate;自定义序列化应用,Springboot 配置Redis集群,集群出现主节点宕机,无法主动刷新原创 2023-09-08 17:08:11 · 503 阅读 · 0 评论 -
Redis 7 第八讲 集群模式(cluster)架构篇
Redis 集群是一个提供在多个Redis节点间共享数据的程序集;Redis集群可以支持多个master不在同一个slot槽位下的多键操作支持不好,通识占位符登场集群是否完整才能对外提供服务(默认yes,不对外服务)CLUSTER COUNTKEYSINSLOT 槽位数字查询该槽位是否被占用查看该key归属槽位查看集群中节点信息;集群扩容,缩容,槽位分配,主从切换原创 2023-09-03 22:24:37 · 1021 阅读 · 0 评论 -
Redis 7 第七讲 哨兵模式(sentinal)架构篇
哨兵巡查监控后台master主机是否故障,如果出现故障根据投票时自动将某一个从库转换成新的主库,继续对外服务。哨兵配置,异常处理,选举原理,选举流程原创 2023-09-02 22:58:31 · 728 阅读 · 0 评论 -
Redis 7 第六讲 主从模式(replica)架构篇
主从复制,master以写为主,Slave以读为主。当master数据变化的时候,自动将新的数据异步同步到其它slave数据库。一主二从改换门庭薪火相传自动为王断点续传主从复制原理slave启动,初次同步首次连接,全量复制心跳持续,保持通信进入平稳,增量复制从机下线,重连续传原创 2023-09-01 21:24:29 · 1058 阅读 · 0 评论 -
Redis 7 第五讲 事务、管道、发布订阅 过渡篇
理论可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞一个队列中,一次性、顺序性、排他性的执行一系列命令。redis 事务redis 管道redis 发布订阅原创 2023-08-29 16:59:21 · 612 阅读 · 0 评论 -
Redis 7 第三讲 数据类型 进阶篇
Stream的基础方法,使用xadd存入消息和xread循环阻塞读取消息的方式可以实现简易版的消息队列.位图 bitmapRedis Georedis 版本的MQHyperLogLog 是用来做基数统计的算法。原创 2023-08-26 16:29:17 · 659 阅读 · 0 评论 -
Redis 7 第四讲 数据持久化
RDB 持久化以指定的时间间隔执行数据集的时间点快照。把某一时刻的数据和状态以文件的形式写到磁盘上,即使出现故障宕机,快照文件也不会丢失,数据的可靠性得到保证。快照文件就是RDB(Redis DataBase)文件(dump.rdb)以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录), 只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。原创 2023-08-28 16:25:59 · 765 阅读 · 0 评论 -
Redis 7 第二讲 数据类型 基础篇
👍 Redis 键🌹 引导Redis命令中心(Redis commands) -- Redis中国用户组(CRUG)Redis命令大全,显示全部已知的redis命令,redis集群相关命令,近期也会翻译过来,Redis命令参考,也可以直接输入命令进行命令检索。原创 2023-08-25 20:05:37 · 485 阅读 · 0 评论 -
Redis 7 第一讲 安装配置 入门篇
多AOF文件支持7.0版本中一个比较大的变化就是 aof 文件由一个变成了多个,主要分为两种类型:基本文件(base files)、增量文件( incr files),请注意这些文件名称是复数形式说明每一类文件不仅仅只有一个。在此之外还引入了一个清单文件(manifest)用于跟踪文件以及文件的创建和应用顺序(恢复)config 命令增强对于Config Set和Get命令,支持在一次调用过程中传递多个配置参数。原创 2023-08-19 20:27:40 · 578 阅读 · 0 评论