1. 首页
  2. 数据库
  3. 其它
  4. 探索C#之storm的TimeCacheMap

探索C#之storm的TimeCacheMap

上传者: 2021-01-15 14:10:30上传 PDF文件 70.07KB 热度 6次
概述 近在看storm,发现其中的TimeCacheMap算法设计颇为高效,简单分享介绍下。 思考一下如果需要一个带过期淘汰的缓存容器,我们通常会使用定时器或线程去扫描容器,以便判断是否过期从而删除。但这样性能并不友好,在数据量较大时O(n)检查是一笔不小的开销,并且在大量过期数据删除时需要频繁对容器加锁,这会多少会影响到正常的数据读写删除。 Storm设计了一种比较高效的时间缓存容器TimeCacheMap,它的算法可以在某个时间周期内将数据批量删除,一次批量删除只需要加一次锁即可,并且其读写删除复杂度均为O(1)。 算法介绍 TimeCacheMap把要缓存的
用户评论