通常我使用 memcached 来加速我使用的 Web(或非 Web)应用程序。不幸的是,我无法安装 memcache(这不是技术限制,只是官僚主义)。
所以我正在考虑是否可以只使用一些缓存系统,这些缓存系统位于我部署 Web 应用程序的同一个 jvm 中。我检查了一下,发现 JCS(http://commons.apache.org/proper/commons-jcs/)似乎很合适。
我需要的是:
- 键值存储
- 能够将 ttl 设置为值(也就是说,它们会被自动删除)
- 键将是字符串,值几乎可以是任何东西,但可能是对象的字符串表示
- 定义此缓存系统要使用的最大内存量的能力。
- 缓存不会有很多项目,我不需要任何大量的东西。
我不需要什么
- 分片
JCS 会是一个好方法吗?
更新
最后我们最终使用了 guava-cache 并且到目前为止它工作得很好,但有一些限制(例如,同一缓存中的不同键似乎不可能有不同的过期时间),但是对于用例,到目前为止还不错。