我在memcached中有一些价值,比如500,000。当我试图用它的键获取一个特定值,并使用它的get方法时。它需要随机的时间,比如20毫秒,5毫秒等等。大约500毫秒。
memcached有这么慢吗?或者有什么方法可以提高它的性能?我通过以下方式测试时间。在获取值之前和获取值之后,我以毫秒为单位打印了系统时间。
System.currentTimeMillis();
memcachedClient.get("key");
System.currentTimeMillis(); 如果我在memcached中设置了一些值,并试图在同一运行中从这些值中获取一个值。然后,我将获得更多的time.But,如果我将分别完成这些任务,我将获得更少的时间来获取。为什么?
发布于 2013-08-19 13:05:24
不没那么慢。这只取决于您的系统是如何设置的。
第一个问题是:你的memcached在哪里?它是本地memcached (与执行这段java代码的机器在同一台机器上)还是远程memcached?如果它是远程的,那么你需要知道你的机器和远程机器之间的延迟是多少(虽然500ms是一个很大的延迟)。此外,在执行java的机器上还运行什么,在运行memcached的机器上运行什么?
memcached很快,所以这是你的配置的问题……如果你想让我们帮助你,你需要调查并提供更多的信息。
此外,当您使用外部库(此处为spymemcached)时,请提供其版本(我假设为2.8.12)。有时,特定版本会有一些已知的问题(但这里不会出现这种情况)。
https://stackoverflow.com/questions/18306522
复制相似问题