快速构建大数据缓存
来源:互联网 发布:机票网络代购 编辑:程序博客网 时间:2024/06/05 18:18
场景:
系统运行于正式环境后,发现时常发生OOM (OutOfMemory),通过 Windbg dump 了几个内存后发现很多缓存对象无法回收【分析过程另起新篇叙述】,于是想到如何处理缓存?
方案:
由于系统中的缓存都是采用 Hashtable 直接建立 key, value 来缓存对象,属于 Strong Handle类型,当然第一反应就是建立 WeakReference ,所以就按照此思路重新构建了一下啊缓存
思路:
缓存基类 BigCacheItem 以 WeakReference 为基础,其他类都是实现各自不同场景下的缓存
类名
用途
BigFastCacheItem
大数据快速缓存,减少创建对象时等待时间
FSCacheItem
文件缓存,大对象无法缓存在内存中时,可以先以文件缓存,需要时,再重新取回数据
LightCacheItem
轻量级缓存:对象可以很容易的创建时,建议采用此类
思想讲玩了,直接看代码吧。
【说明】: 代码中很多注释用 GhostDoc 自动生成,没有进行校验,不能保证其准确性
源码下载:
/Files/AloneSword/AloneSword.Component.Cache.rar
完整文件下载:
http://docs.google.com/View?id=djsssq3_69gkvbmtcp
- 快速构建大数据缓存
- 构建大数据产品-目录
- 【ORACLE】大数据快速插入
- Spark快速大数据分析
- Spark快速大数据分析
- Spark快速大数据分析
- 数据准备(快速构建ASR系统)
- Kafka connect快速构建数据ETL通道
- Storm 实战:构建大数据实时计算
- 御膳房:构建大数据的美食厨房
- 构建基于LBS的大数据应用
- 构建大数据生态需要哪些核心技术?
- OpenSearch:轻松构建大数据搜索服务
- Hortonworks Hadoop大数据平台构建
- 高并发“热点”缓存数据快速“退火”
- 高并发“热点”缓存数据快速“退火”
- 高并发“热点”缓存数据快速“退火”
- 大数据 memcache缓存序列化太慢策略
- 物体跟踪之一分块跟踪器的思想介绍
- 快乐的钥匙
- WinSock三种选择I/O模型
- 润乾报表实现各种统计图之间的切换
- 模拟交通信号灯
- 快速构建大数据缓存
- 健康大法
- WinSock重叠I/O模型
- C#冒泡排序代码
- 【学习】【保护模式编程、一】
- 创建一个简单的计算器
- 配置SourceInsight显示格式
- 每次开机硬盘都自检,方法解决之一
- Web报表多个数据集之间的相互关联