LRU全称Least Recently Used,也就是 最近最少使用的意思,是一种内存管理算法,该算法最早应用于 Linux操作系统。 这个算法基于一种假设:长期不被使 用的数据,在未来被用到的几率也不大。因此,当数据所占内存达 到一定阈值时,我们要移除掉最近最少被使用的数据。 LRU算法中,使用 ...
分类:
编程语言 时间:
2020-04-30 13:33:34
阅读次数:
65
简介 LinkedHashMap内部维护了一个双向链表,能保证元素按插入的顺序访问,也能以访问顺序访问,可以用来实现LRU缓存策略。 LinkedHashMap可以看成是 LinkedList + HashMap。 类图 LinkedHashMap继承HashMap,拥有HashMap的所有特性,并 ...
分类:
其他好文 时间:
2020-04-29 10:40:01
阅读次数:
52
7.1.1 value 对象的通用结构 typedef struct redisObject{ unsigned type:4; unsigned encoding:4; unsigned lru:REDIS_LRU_BITS; int refcount; void *ptr; } robj; ty ...
分类:
其他好文 时间:
2020-04-29 01:04:19
阅读次数:
67
leetcode 解法 https://blog.csdn.net/Apeopl/article/details/90137398 import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; public c ...
分类:
其他好文 时间:
2020-04-28 20:08:28
阅读次数:
58
在sqlserver中,几年之前就注意到一个现象:sqlserver中对一个大表创建索引或者rebuild索引的过程中,会引起内存剧烈的动荡,究其原因为何,这种现象到底正不正常,是不是sqlserver内存管理存在缺陷?另外,最近刚好想到跟MySQL对比一下类似操作引起的内存变化,测试MySQL会不 ...
分类:
数据库 时间:
2020-04-22 00:04:50
阅读次数:
91
[TOC] 缓存预热 宕机 服务器启动后迅速宕机 问题排查 1. 请求数量较高 2. 主从之间数据吞吐量较大,数据同步操作频度较高 解决方案 前置准备工作: 1. 日常例行统计数据访问记录,统计访问频度较高的热点数据 2. 利用 LRU 数据删除策略,构建数据留存队列,例如:strom 与 kafk ...
分类:
其他好文 时间:
2020-04-21 09:29:45
阅读次数:
84
LRU 算法描述 LRU 算法实际上是让你设计数据结构:首先要接收一个 capacity 参数作为缓存的最大容量,然后实现两个 API,一个是 put(key, val) 方法存入键值对,另一个是 get(key) 方法获取 key 对应的 val,如果 key 不存在则返回 -1。 注意哦,get ...
分类:
编程语言 时间:
2020-04-17 23:27:31
阅读次数:
179
十,Redis的RDB存储方式 10.1 redis的运行方式说明 redis如果提供缓存服务,可以关闭所有持久化存储,如此一来redis重启后所有数据会丢失 开启rdb或aof持久化存储,能把redis中的数据持久化到磁盘中。 rdb和aof对性能都有影响,所以建议持久化的操作在从库上进行 10. ...
分类:
数据库 时间:
2020-04-17 00:20:43
阅读次数:
194
题目:https://leetcode cn.com/problems/lfu cache/ 思路: O(1)的数据结构:hashmap 维持最近使用:OrderdDict(详见LRU缓存问题) 使用一个hashmap维系key到出现频率的映射关系 另一个hashmap维系频率到数据(key val ...
分类:
其他好文 时间:
2020-04-14 10:45:26
阅读次数:
62
Redis基础 缓存击穿、雪崩、穿透 集群高可用、哨兵、持久化、LRU 分布式锁、并发竞争、双写一致性 Redis常见面试题 ...
分类:
其他好文 时间:
2020-04-13 15:20:51
阅读次数:
57