cache2k 是个成熟的性能优越的内存缓存解决方案。
Maven:
<properties> <cache2k-version>1.0.2.Final</cache2k-version> </properties> <dependencies> <dependency> <groupId>org.cache2k</groupId> <artifactId>cache2k-api</artifactId> <version>${cache2k-version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.cache2k</groupId> <artifactId>cache2k-all</artifactId> <version>${cache2k-version}</version> <scope>runtime</scope> </dependency> </dependencies>
示例代码:
Cache<String, String> cache = new Cache2kBuilder<String, String>() {} .name("routeToAirline") .eternal(true) .entryCapacity(100) .build(); // populate with our favorites cache.put("MUC-SFO", "Yeti Jet"); cache.put("SFO-LHR", "Quality Air"); cache.put("LHR-SYD", "Grashopper Lifting"); // query the cache String route = "LHR-MUC"; if (cache.containsKey(route)) { System.out.println("We have a favorite airline for the route " + route); } else { System.out.println("We don't have a favorite airline for the route " + route); } String airline = cache.peek(route); if (airline != null) { System.out.println("Let's go with " + airline); } else { System.out.println("You need to find one yourself"); }