05 2021 档案

摘要:redis内部整体的存储结构是一个大的hashmap,内部是数组实现的hash,key冲突通过挂链表去实现,每个dictEntry为一个key/value对象,value为定义的redisObject。 结构图如下: dictEntry是存储key->value的地方,再让我们看一下dictEntr 阅读全文
posted @ 2021-05-31 10:44 倔强的老铁 阅读(573) 评论(0) 推荐(0) 编辑
摘要:1、穿透 频繁访问redis和数据库中没有的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 解决方案: ①接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截; ②从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为key-null,缓存有效时间 阅读全文
posted @ 2021-05-28 15:23 倔强的老铁 阅读(71) 评论(0) 推荐(0) 编辑
摘要:垃圾回收 对象存活算法: 1、引用计数器 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用的。 2、可达性分析算法 从GC Root开始搜索,且搜索不到的对象 跟搜索算法:以一系列名为 GC R 阅读全文
posted @ 2021-05-10 11:05 倔强的老铁 阅读(190) 评论(0) 推荐(0) 编辑
摘要:参照:https://www.cnblogs.com/wugongzi/p/12092326.html 按照“流”的数据流向,可以将其化分为:输入流和输出流。 按照“流”中处理数据的单位,可以将其区分为:字节流和字符流。在java中,字节是占1个Byte,即8位;而字符是占2个Byte,即16位。而 阅读全文
posted @ 2021-05-08 16:44 倔强的老铁 阅读(32) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示