redis 热点 key 和 大 key

参考文档: 【原创】谈谈redis的热key问题如何解决 JAVA秘籍之Redis BigKey 1. hot key 1.1 什么是热点 key 问题 其实 热 key 问题说来也很简单,就是瞬间有几十万的请求去访问 redis 上某个固定的 key,从而压垮缓存服务的情况。其实生活中也是有不少这

Redis 

redis 常见问题

参考文档:一文读懂Redis 1. 数据一致性 链接:数据一致性问题 在分布式环境下,缓存和数据库很容易出现数据一致性问题,如果项目对缓存的要求是强一致性,那就不要使用缓存。 我们只能在项目中使用策略降低缓存与数据库一致性的概率,是无法保障两者的强一致性,一般策略包括缓存更新机制,更新数据库后及时更

Redis 

跳跃表

参考文档:什么是跳跃表? 1. 什么是跳跃表 跳跃表(Skip List)是一种基于有序链表的扩展,简称跳表。 其实就是使用关键节点作为索引的一种结构。 怎样能更快查找到一个有序链表的某一节点呢? 可以利用类似索引的思想,提取出链表中的部分关键节点 比如: 给定一个长度是 7 的有序链表,节点值依次

链表 

redis 实现分布式锁

参考文档: Redis实现分布式锁 在单体应用中,如果我们对共享数据不进行加锁操作,会出现数据一致性问题,我们的解决办法通常是加锁。 在分布式架构中,我们同样会遇到数据共享操作问题,本文章使用 Redis 来解决分布式架构中的数据一致性问题。 1. 单机数据一致性 单机数据一致性架构如下图所示:多个

数据一致性问题

参考文档: 缓存和数据库到底先写哪个? 1. 引出问题 在数据库和缓存一致性问题上,有以下几个操作 先删缓存,再更新数据库 先更新数据库,再更新缓存 先更新数据库,再删缓存 第一种方式 这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存

redis 过期策略和内存淘汰策略

参考文档: redis 的过期策略都有哪些?内存淘汰机制都有哪些? Redis的数据过期清除策略 与 内存淘汰策略 Redis的LFU算法源码实现解析 1. 过期策略 Redis 是 key-value 数据库,我们可以设置 Redis 中缓存的 key 的过期时间。Redis 的过期策略就是指当

Redis 

快速排序

参考文献: 快速排序算法

排序 

JAVA 四种引用类型

1. 强引用 在 Java 中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能被垃圾回收机制回收的,即使该对象以后永远都不会被用到 JVM 也不会回收。因此强引用是造成 Java 内存泄漏的主要原因之一。 2. 软引

基础 

java 代码执行

参考文档:【Java核心技术卷】Java的解释执行与编译执行 1. JVM 简介 一种能够运行 Java 字节码 (class) 的虚拟机。 JVM 有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有一套字节码指令集。JVM 屏蔽了与具体操作系统平台相关的信息,使得Java 程序只需要生成在 J

基础 

idea 激活

参考文档: ja-netfilter ja-netfilter-mymap-plus 激活教程 介绍一个"牛逼闪闪"开源库:ja-netfilter 1. 介绍 此方法理论适用 JeBrains 全家桶所有版本,本文基于 2021.3.3 测试。 原理:防火墙原理,利用防火墙阻止激活检测。 <