TinyLFU

什么是缓存淘汰策略 我们知道,现代计算机采用多级存储结构。为了加速程序执行,通常会将数据从低速存储提前加载到访问速度更快的高速存储(缓存)中。 但是,由于实际数据量可能远超缓存容量,当有新数据需要进入缓存时,就需要按照一定的规则选择并替换旧数据,这就是所谓的缓存淘汰策略。 维基百科: 缓存文件置换

分布式ID生成方案全解析:从数据库到雪花算法

在分布式系统中,全局唯一ID是一个常见的需求。无论是分库分表后的主键冲突,还是订单号、用户ID等需要唯一标识的场景,都离不开一个可靠的分布式ID生成器。本文将带你了解分布式ID的基本要求,并梳理多种实现方案,从简单的数据库自增到高性能的雪花算法,最后介绍各大厂的开源组件。 一、什么是分布式ID? 分

Let's Encrypt 免费申请 SSL 证书,并实现自动续期

背景 对于公网可以访问的网站,使用 HTTPS 协议是保证安全访问的基础要求,而 SSL 证书又是 HTTPS 协议不可或缺的一环。SSL 证书需要 CA 机构颁发,当前使用了阿里云的个人测试证书(免费证书),申请后上传到服务器并更新 nginx 配置。 当前存在的问题是,阿里云的免费 SSL 证书

Redis ziplist、quicklist 和 listpack

ziplist 为什么需要 ziplist? 由于 Redis 是一个内存型数据库,因此在使用相应的数据结构时需要1)节省内存空间,2)提高操作效率。传统的包含指向相邻节点指针的双向链表中在内存使用和操作效率上存在一些问题: 存储指针需要额外的内存空间,且该空间在指定硬件平台上是固定的。当存储的