RedisとEhcachedの違い

2580 ワード

Redis
独立した実行プログラムに属し、個別にインストールした後、JAVAのJedisを使用して操作する必要があります.独立しているので、ユニットテストプログラムを書いて、Redisにデータを入れて、プログラムを書いてデータを取りに行くと、このデータを手に入れることができます.
Ehcache
Redisとは明らかに異なり、javaプログラムとは縛られており、javaプログラムは生きていて、生きています.例えば、独立したプログラムを書いてデータを入れ、独立したプログラムを書いてデータを取ると、データが手に入らない.データは独立したプログラムでしか入手できません.ehcacheはHibernateのデフォルトのCacheProviderで、直接jvm仮想マシンでキャッシュされ、速度が速く、効率が高い.しかし,キャッシュ共有が面倒でクラスタ分散アプリケーションが不便である.キャッシュ・データには2つのレベルがあります.メモリとディスクのため、容量の問題を心配する必要はありません.Hibernateのキャッシュ・インプリメンテーションを提供します.
Ehcacheの特徴
1.速い
Ehcacheの発行は長い間、数年の努力と数え切れない性能テストを経て、Ehcacheは結局large、high concurrency systemsに設計された.
2.簡単
開発者が提供するインタフェースは非常に簡単で明瞭で、Ehcacheの構築から運用運用までわずか数分しかかかりません.実は多くの開発者は自分がEhcacheを使っていることを知らないで、Ehcacheは広く他のオープンソースプロジェクトに運用されています例えば:hibernate
3.ポケットサイズ
この点の特性について、公式は1つのとてもかわいい名前small foot printをあげて、普通のEhcacheのリリースバージョンは2 Mにならないで、V 2.2.3才668 KB.
4.十分軽量
コアプログラムはslf 4 jというパッケージに依存しているだけで、1つもありません!
5.拡張性が高い
Ehcacheはビッグデータのメモリとハードディスクのストレージを提供し、最近のバージョンではマルチインスタンス、保存対象の高柔軟性、LRU、LFU、FIFO淘汰アルゴリズムを提供し、基礎属性はホット構成、サポートのプラグインが多いことをサポートしている.
6.リスナー
キャッシュ・マネージャ・リスナー(CacheManagerListener)とキャッシュ・リスナー(CacheEvenListener)は、統計やデータの一貫性のあるブロードキャストをするのに役立ちます.
使用方法
簡単なのがEhcacheの大きな特色で、自然にjust so easyを使います!
基本使用コード公式サイト:www.fhadmin.org
CacheManager manager = CacheManager.newInstance("src/config/ehcache.xml");
Ehcache cache = new Cache("testCache", 5000, false, false, 5, 2);
cacheManager.addCache(cache);

      ehcache.xml  ,                 
       name:    。
       maxElementsInMemory:      。
       eternal:        ,     ,timeout     。
       timeToIdleSeconds:               (  : )。  eternal=false           ,    ,    0,           。
       timeToLiveSeconds:              ,                 。  eternal=false           ,   0.,             。
       overflowToDisk:          maxElementsInMemory ,Ehcache         。
       diskSpoolBufferSizeMB:      DiskStore(    )      。   30MB。  Cache            。
       maxElementsOnDisk:        。
       diskPersistent:             Whether the disk store persists between restarts of the Virtual Machine. The default value is false.
       diskExpiryThreadIntervalSeconds:            ,   120 。
       memoryStoreEvictionPolicy:   maxElementsInMemory   ,Ehcache              。     LRU。       FIFO  LFU。
       clearOnFlush:           。

redisはsocketを通じてキャッシュサービスにアクセスし、ecacheよりも効率が低く、データベースよりもずっと速く、クラスタの処理と分散キャッシュの処理が便利で、成熟した方案がある.
単一のアプリケーションまたはキャッシュへのアクセスが要求されるアプリケーションの場合はehcacheを使用します.大規模なシステムの場合、キャッシュ共有、分散配置、キャッシュコンテンツが大きい場合はredisを推奨します.