简单,可能是愚蠢的问题:假设我有一个 Java 服务器,它在内存中存储我可以查询的常用键和值(比如说在 HashMap 中)
这与使用 Memcache(甚至 Redis)有什么区别?它们都将事物存储在内存中。对其中一个有好处吗? Memcache 是否会减少内存占用?可以在更少的内存中存储更多吗?查询速度更快?没区别?
最佳答案
Java 内存相对于 memcache 的优势:
- Java 内存更快(无网络)。
- Java 内存不需要序列化,您可以使用 Java 对象。
memcache 相对于 Java 内存的优势:
- 它可以被多个应用服务器访问,因此您的缓存将在所有应用服务器之间共享。
- 它可以被各种不同的服务器访问,只要它们都同意 key 方案和序列化。
- 它将丢弃过期的缓存值,因此您会获得基于时间的失效。
关于caching - Memcache 与 Java 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5465737/