摘要: 多级缓存 缓存穿透、缓存击穿、缓存雪崩 缓存穿透 缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,通常处于容错的考虑,如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储查询,失去了缓存保护后端存储的意义。 造成缓存穿透的基本原因有两个: 自身业务代码 阅读全文
posted @ 2021-10-05 20:21 哈希赛特 阅读(398) 评论(0) 推荐(0)
摘要: Redis集群方案比较 哨兵模式 在Redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问 阅读全文
posted @ 2021-10-05 16:03 哈希赛特 阅读(339) 评论(0) 推荐(0)
摘要: Redis持久化 RDB快照 默认情况下,Redis将内存数据库快照保存在名字为dump.rdb的二进制文件中。 你可以对Redis进行设置,让它在“N秒内数据至少有M个改动”这一条件被满足时,自动保存一次数据集。 比如说,以下设置会让Redis在满足“60秒内有至少有1000个键被改动”这一条件时 阅读全文
posted @ 2021-10-04 18:24 哈希赛特 阅读(102) 评论(0) 推荐(0)
摘要: 数据结构 字符串String 常用操作 //存入字符串键值对 SET key value //批量存储字符串键值对 MSET key value [key value ...] //存入一个不存在的字符串键值对 SETNX key value //获取一个字符串键值 GET key //批量获取字符 阅读全文
posted @ 2021-10-04 16:11 哈希赛特 阅读(78) 评论(0) 推荐(0)
摘要: 一、Java内存区域与内存溢出异常 1. 概述 Java程序员把内存控制的权力交给了Java虚拟机,在虚拟机的自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,而且不容易出现内存泄漏和内存溢出的问题。但是一旦出现上述方面的问题,如果不了解虚拟机是怎么样使用内存 阅读全文
posted @ 2021-07-28 14:11 哈希赛特 阅读(81) 评论(0) 推荐(0)
摘要: 一、走近Java 1. 概述 Java不仅仅是一门编程语言,它还是一个由一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器和大型机等各种场合。 Java拥有一门结构严谨、面向对象的编程语言。它还摆脱了硬件平台 阅读全文
posted @ 2021-07-28 13:54 哈希赛特 阅读(66) 评论(0) 推荐(0)
摘要: 一、单一职责原则 单一职责原则提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口或类设计得是否优良。但是“职责”和”变化原因“都是不可度量的,因项目而异,因环境而异。 单一职责的优点: 类的复杂性降低,实现什么职责都有清晰明确的定义; 可读性提高; 可维护性提高; 变更引起的风险降低。 单 阅读全文
posted @ 2021-07-25 19:42 哈希赛特 阅读(138) 评论(0) 推荐(0)
摘要: 1、组件添加 1.1、@Configuration 基本使用 Full模式与Lite模式 示例 实践 配置类组件之间无依赖关系用Lite模式加速容器启动过程,减少判断。 配置类组件之间有依赖关系,方法会被调用得到之前单实例组件,用Full模式。 配置类: 1 /** 2 * 1. @Configur 阅读全文
posted @ 2021-07-25 11:19 哈希赛特 阅读(111) 评论(0) 推荐(0)
摘要: 1.HelloWold 1.1、创建Maven工程 1.2、引入依赖 1 pom.xml 2 3 <parent> 4 <groupId>org.springframework.boot</groupId> 5 <artifactId>spring-boot-starter-parent</arti 阅读全文
posted @ 2021-07-25 01:32 哈希赛特 阅读(104) 评论(0) 推荐(0)