![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 74
春上大人
最是人间留不住,朱颜辞镜花辞树!
展开
-
缓存穿透(布隆过滤器)
首先我们知道布隆过滤器,但是我们也要知道他主要是解决缓存穿透的问题,那我们接下来来介绍一下。缓存穿透是指,如果一个 key 在缓存和数据库都不存在,那么访问这个 key 每次都会进入数据库很可能被恶意请求利用缓存雪崩与缓存击穿都是数据库中有,但缓存暂时缺失缓存雪崩与缓存击穿都能自然恢复,但缓存穿透则不能针对缓存穿透,一般有两种解决方案,分别是:如果数据库没有,也将此不存在的 key 关联 null 值放入缓存,缺点是这样的 key 没有任何业务作用,白占空间。原创 2023-11-11 17:23:34 · 6150 阅读 · 2 评论 -
一文带你学会MD5+盐
MD5 + 盐是一种密码存储的安全机制。MD5,全称为Message Digest Algorithm 5,是一种常用的哈希函数。在密码存储中,通常会使用盐(salt)来增加密码的安全性。使用MD5 + 盐的密码存储过程如下:1. 随机生成一个盐值,将其与用户的密码拼接在一起。2. 使用MD5函数对拼接后的字符串进行哈希计算,生成一个固定长度的哈希值。3. 将盐值和哈希值一起存储在数据库中,以备后续验证使用。在密码验证过程中,使用相同的步骤生成哈希值,并将其与数据库中存储的哈希值进行比对。原创 2023-10-16 21:31:52 · 18929 阅读 · 8 评论 -
一文带你学会Stream流的使用
Stream 流是一个用于处理集合数据的 API,它提供了一种简洁而灵活的方式来处理与集合相关的操作。在Java 8中引入的Stream API,使得集合操作更加高效和易于编写。Stream 流提供了一系列的中间操作和终端操作,可以在不修改源集合的情况下对元素进行过滤、映射、排序、聚合等操作。中间操作返回一个新的流,这样可以进行链式的操作;而终端操作则会产生最终结果或副作用,结束流的处理。Stream 流具有惰性求值的特点,也就是说在遇到终端操作之前,中间操作不会立即执行,而是等到需要结果时才进行处理。原创 2023-10-08 14:44:27 · 16188 阅读 · 0 评论