当前位置: 首页 > 面试题库 >

Memcache与Java内存

缑高朗
2023-03-14
问题内容

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

与使用Memcache(甚至是Redis)有什么区别?它们都将事物存储在内存中。一个或另一个有好处吗?Memcache是​​否会减少内存占用量?可以在更少的内存中存储更多内容吗?查询更快?没有不同?


问题答案:

Java内存相对于Memcache的优势:

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

与Java内存相比,memcache的优势在于:

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


 类似资料:
  • workerman没有提供memcache的类库。 请使用memcached扩展,参考php手册

  • 数据存储

  • memcache-collections 是 memcache 高速缓存系统中的产生并发式和分布式数据结构开发包。 memcache 是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视 频、文件以及数据库检索的结果等。 memcache 完全可以用到其他地方,比如分布式数据库, 分布式计算等领域。

  • memcache-top 是一个用 Perl 编写的命令行小工具,用来实时的获取 memcached 缓存服务器的详细信息,例如缓存命中率等。 下面是一个输出结果实例: memcache-top v0.5       (default port: 11211, color: on, refresh: 3 seconds) INSTANCE                USAGE   HIT % 

  • 在数据采集一节中我们介绍了常见的监控数据源。open-falcon作为一个监控框架,可以去采集任何系统的监控指标数据,只要将监控数据组织为open-falcon规范的格式就OK了。 Memcache的数据采集可以通过采集脚本memcached-monitor来做。 工作原理 memcached-monitor是一个cron,每分钟跑一次采集脚本memcached-monitor.py,脚本可以自动

  • 使用包含Scala和Akka在内的Typesafe平台的主要好处是它简化了并发软件的编写过程。本文将讨论Typesafe平台,尤其是Akka是如何在并发应用中访问共享内存的。 Java内存模型 在Java 5之前,Java内存模型(JMM)定义是有问题的。当多个线程访问共享内存时很可能得到各种奇怪的结果,例如: 一个线程看不到其它线程所写入的值:可见性问题 由于指令没有按期望的顺序执行,一个线程观