Redis的manager层应用
封装了一个操作redis的管理层,简单处理了缓存穿透、击穿、雪崩问题 接口 /**
* redis管理层
*/
public interface RedisManager {
/**
* 从缓存中获取否则从mysql中查询
*
* @param key
涨知识
未读
聊聊cookie、session、token
一、发展史 1、很久很久以前,Web基本上就是文档的浏览而已,既然是浏览,作为服务器,不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议,就是请求加响应,尤其是我不用记住是谁刚刚发了HTTP请求,每个请求对我来说都是全新的。这段时间很嗨皮。 2、但是随着交互式Web应用的兴
Mybatis
未读
MyBatis一级缓存机制
1、前言 缓存是一般的ORM 框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力。跟Hibernate 一样,MyBatis 也有一级缓存和二级缓存,并且预留了集成第三方缓存的接口。 MyBatis 跟缓存相关的类都在cache 包里面,其中有一个Cache 接口,只有一个默认的实现类 P
SpringBoot
未读
简单的二维码生成功能
1、描述 在系统中生成一个二维码,用户可以选择下载保存到本地;或生成的二维码以流的形式传输给前端工程展示(只生成流,不保存到本地) 2、实现 两种方法实现,①使用google的zxing实现。②使用hutool工具实现 1、引入依赖 <!-- https://mvnrepository.com/ar
涨知识
未读
ArrayList及扩容机制
一、ArrayList ArrayList就是动态数组,其实就是Array的复杂版本,提供了动态的添加元素和删除元素的方法,同时实现了Collection 和 List接口,能够灵活的设置数组的大小。ArrayList有三种构造方法: 空的构造函数 根据传入的数值大小,创建指定长度的数组 通过传入C
KafkaStream流式计算
一、背景 1、流式计算的概念 一般流式计算会与批量计算相比较。在流式计算模型中,输入是持续的,可以认为在时间上是无界的,也就意味着,永远拿不到全量数据去做计算。同时,计算结果是持续输出的,也即计算结果在时间上也是无界的。流式计算一般对实时性要求较高,同时一般是先定义目标计算,然后数据到来之后将计算逻