java LRU缓存:带有时间戳的LinkedHashMap?
我需要在Java中实现一个到期时间为600秒的LRU缓存。我搜索并找到了内置的LinkedHashMap类。当大小超过限制时,它可以删除最旧的元素,但它没有元素的过期时间 我能想到的是在将元素放入缓存时关联时间戳。检索元素时,检查其时间戳;如果时间戳早于600秒,则从缓存中删除元素并返回“not found” 还有更好的主意吗?有内置的解决方案或最佳实践吗?我想避免重新发明轮子。直接使用它怎么样 它支持所有的 加载缓存和具有任意组合的缓存实例的生成器 以下特点之一:java LRU缓存:带有时间戳的LinkedHashMap?,java,linkedhashmap,lru,Java,Linkedhashmap,Lru,我需要在Java中实现一个到期时间为600秒的LRU缓存。我搜索并找到了内置的LinkedHashMap类。当大小超过限制时,它可以删除最旧的元素,但它没有元素的过期时间 我能想到的是在将元素放入缓存时关联时间戳。检索元素时,检查其时间戳;如果时间戳早于600秒,则从缓存中删除元素并返回“not found” 还有更好的主意吗?有内置的解决方案或最佳实践吗?我想避免重新发明轮子。直接使用它怎么样 它支持所有的 加载缓存和具有任意组合的缓存实例的生成器 以下特点之一: 自动将条目加载到缓存中 超
- 自动将条目加载到缓存中
- 超过最大大小时最近最少使用的逐出
- 条目的基于时间的过期,自上次访问或上次写入后测量
- 键自动包装在弱引用中
- 值自动包装在弱引用或软引用中
- 收回(或以其他方式删除)条目的通知
- 缓存访问统计数据的累积
- 自动将条目加载到缓存中
- 超过最大大小时最近最少使用的逐出
- 条目的基于时间的过期,自上次访问或上次写入后测量
- 键自动包装在弱引用中
- 值自动包装在弱引用或软引用中
- 收回(或以其他方式删除)条目的通知
- 缓存访问统计数据的累积
我建议不要自己实现它,看看已经可用的实现:
我建议不要自己实现它,请查看现有的实现: