目前我正在使用hazelcast作为我的应用程序的分布式缓存。它接受一个键并给我价值。 但是,如果缓存可以在一个函数调用中接受多个键并返回相应的值,那么在我的应用程序中它会更有帮助。 可以使用hazelcast吗?或者是否有其他解决方案,如EHCache或Redis?
答案 0 :(得分:3)
答案 1 :(得分:2)
我不确定redis或hazle cast,但ehcache有这个。看看这个
http://ehcache.org/apidocs/net/sf/ehcache/Ehcache.html
它有这个方法Map getAll(Collection keys)和一堆更多的批量操作方法
检查一下以获得更多解释
http://dancing-devil.blogspot.com/2011/04/ehcache-bulk-operation-apis.html
即将推出的JSR107 / JCache标准已定义批量操作。因此,每个符合标准的缓存都会有这个。
答案 2 :(得分:1)
redis可以帮助您通过MGET命令执行此操作,此外它还为您提供了大量数据结构,您可以通过它们从许多键中获取值。
SET a 10
SET b 20
MGET a b
1)10
2)20
HSET "hash name" "a" 10
HSET "hash name" "b" 20
HGETALL "hash name"
1)a
2)10
3)b
4)20
以上示例显示了如何利用redis执行您需要执行的操作
答案 3 :(得分:1)
是的,标准的JCache API支持这一点。请参阅:https://github.com/jsr107/jsr107spec/blob/master/src/main/java/javax/cache/Cache.java
我今天所知道的JCache的唯一实现是Oracle Coherence;见:http://docs.oracle.com/middleware/1213/coherence/develop-applications/jcache_part.htm
为了充分披露,我在Oracle工作。本文中表达的观点和观点是我自己的,不一定反映我的雇主的意见或观点。
答案 4 :(得分:0)
Redis通过Redisson框架
实现了JCache API(JSR-107)