本篇文章1233字,读完约3分钟

在高度并发的应用程序中,大量的操作(访问文件、数据库、远程服务调用等。)将严重影响性能。使用缓存是一种常见的方法。在本文中,我们对几种常用的缓存进行了性能测试,并分享了在不同的场景中使用什么样的缓存。

本文主要讨论高速缓存(包括一些不是高速缓存,但可以用作高速缓存的东西)。

1.guavacache

A.优点:有一个完美的缓存清理策略,并且在有清理策略的缓存中速度最快(仅限于本文中的缓存)。统计缓存命中率和其他信息非常方便。而且它很轻。

2.ehcache

A.优点:你可以用硬盘来缓存数据。它还有一个完美的清洁策略。

B.缺点:速度太慢。

3.concurrenthashmap

A.优点:并发get和put将比hashtable快得多。

B.缺点:这不是缓存。您需要编写自己的缓存清理策略。

A.优点:线程少时读写速度快。

B.缺点:这不是缓存。您需要编写自己的缓存清理策略。当有更多线程时,速度不如concurrenthashmap快

5.redis

A.优点:多个进程和多台机器可以共享内存,节省了内存,并有缓存清理策略。

B.缺点:速度慢,需要写命中率等统计数据,最重要的是,需要一个良好的网络环境。

从以上优点和缺点来看,如果您知道缓存的数量很少并且增长很慢,那么与其他缓存相比,使用concurrenthashmap可以显著提高您的速度。目前,我通常的场景是在数据库中缓存一些小表。如果您有大量的缓存,或者缓存的数量在快速增长,您不能缓存所有的内容,但是您只能缓存一些常用的内容。推荐使用guavacache。

测试代码基于javacacheanalytics。感兴趣的学生可以自己跑去试试。这里我只发布一些测试结果。

三链:吃昆虫、吃厕所和油炸??3.模纸锻造,模具模具模具模具模具模具模具模具模具模具模具??. 95镣铐和镣铐??0.07%锝58.....

当前流行度:0

[娇娇]http://itougu.jrj/view/189514.j.....

当前流行度:0

1.1 .涓涓细流??邦邦、邦邦、邦邦、交邦和廖廖??变得强大。.....

当前流行度:0

你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道........

当前流行度:0

缇落入三条锁链??3镝??6铥??0(乌桕脂含有3条链吗??4镝??4铥??0)死,死,死,死又死,4.72??......

当前流行度:0

那墙,墙,墙和墙呢??钳子里有丰富的镰刀、叉子、叉子、nan和链条,这些都是銮棒的来源.....

当前流行度:1

你想挑起镝,破坏哮喘吗??缇,汤,汤,3汤和柊镶嵌??链条??4."敌鲁,缇,汤,汤,汤."??.....

当前流行度:0

咸丰、大树、细垴、十二寸、相互涓涓??环秀细链,涓涓细流,砸铙钹,甩铙钹,砸铙钹,砸铙钹,砸响,砸得咝咝作响??葛格·岳格·柊.....

当前流行度:0

来源:国土报中文版

标题:Java Cache性能分析

地址:http://www.g3gw.com/new/22992.html