caching - Memcache 与 Java 内存

标签 caching memory memcached redis

简单,可能是愚蠢的问题:假设我有一个 Java 服务器,它在内存中存储我可以查询的常用键和值(比如说在 HashMap 中)

这与使用 Memcache(甚至 Redis)有什么区别?它们都将事物存储在内存中。对其中一个有好处吗? Memcache 是否会减少内存占用?可以在更少的内存中存储更多吗?查询速度更快?没区别?

最佳答案

Java 内存相对于 memcache 的优势:

  1. Java 内存更快(无网络)。
  2. Java 内存不需要序列化,您可以使用 Java 对象。

memcache 相对于 Java 内存的优势:

  1. 它可以被多个应用服务器访问,因此您的缓存将在所有应用服务器之间共享。
  2. 它可以被各种不同的服务器访问,只要它们都同意 key 方案和序列化。
  3. 它将丢弃过期的缓存值,因此您会获得基于时间的失效。

关于caching - Memcache 与 Java 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5465737/

相关文章:

java循环内存和未完成任务的处理

java - 缩小集合的内存开销

windows - 无法让 memcached 在 Windows 中工作

php - 寻找API优化建议

java - 如何通过 JMX 以编程方式更新 wro 缓存/模型?

css - 激进缓存 : Do All Browsers Support URL Parameter for Updating?

iOS-将图像制作为视频时,CVPixelBufferCreate 内存无法正确释放

java - 如何清除应用程序引擎中的所有内存缓存。 Java环境

caching - 什么是pagecache、dentries、inode?

caching - Solr 的缓存是在 JVM 的堆内存中还是在堆外(直接)内存中创建的?