我在memcached中有一些价值,例如500,000。 当我尝试使用其键获取特定值并使用其get方法时。它需要20毫秒,5毫秒等随机时间。有时大约500毫秒。
memcached这么慢吗?或者有什么方法可以改善其性能?我通过以下方式测试时间。我在获取值之前和获取值之后以毫秒为单位打印了系统时间。
System.currentTimeMillis();
memcachedClient.get("key");
System.currentTimeMillis();
如果我在memcached中设置了一些值,并尝试在同一次运行中从它们获取值。然后我会得到更多的时间。但如果我将分开完成这些任务,我将获得更少的时间来获取。为什么呢?
答案 0 :(得分:0)
不,不是那么慢。它只取决于系统的设置方式。
第一个问题是:你的memcached在哪里?它是一个本地memcached(在你执行这个java代码的同一台机器上)还是一个远程memcached? 如果它是远程的,那么你需要知道你的盒子和远程盒子之间的延迟(尽管500毫秒很多)。 另外,在执行java的框上运行了什么,以及运行memcached的框上运行了什么?
memcached很快,因此您的配置存在问题......如果您希望我们帮助您,您需要调查并提供更多信息。
此外,当您使用外部lib(此处为spymemcached)时,请提供其版本(我假设为2.8.12)。有时,特定版本存在已知问题(但这不是这种情况)。