【语言学习】JAVA Map与缓存 - hippowc/hippowc.github.io GitHub Wiki

缓存是一种类似Map的数据结构,只是缓存比Map考虑的问题要更多一点。如果情况简单可以使用map作为缓存。

一些区别

缓存要考虑本地缓存和分布式缓存。redis以及memcached都是可以独立部署的分布式缓存,java map或者Guava cache实际都是本地缓存或者内存缓存,如果应用是集群部署,那么最好使用分布式缓存。

缓存要考虑的问题:

  • 容量规划
  • 过期时间
  • 清除策略或者淘汰机制:FIFO(First In First Out)先进先出算法,LRU(Least Recently Used)最久未使用算法,LFU(Least Frequently Used)最近最少使用算法
  • 命中率统计