- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 JCache 来缓存 Web 响应。缓存键包含以下字段:
我创建了 ResponseKey 类并将其用作缓存键类型:
public class ResponseKey implements Serializable {
private String controller;
private String action;
private Object[] parameters;
@Override
public int hashCode() { // IMPL }
@Override
public boolean equals(Object obj) { // IMPL }
}
示例代码(工作正常):
JCache<ResponseKey, byte[]> cache = ...
ResponseKey key = new ResponseKey("category", "list", new Object[] { 1 });
cache.put(key, bytesContent);
另一种方法是使用 String 作为缓存键类型:
JCache<String, byte[]> cache = ...
String key = "/category/list/1";
cache.put(key, bytesContent);
由于 String 类型在序列化/反序列化方面比 ResponseKey 类型更轻。
我的问题是:我应该使用 String 键而不是 ResponseKey 键吗?
最佳答案
这个问题可能没有确切的答案,因为每种方法都有优点和缺点。两者都可以。
/
。=> 所以我建议使用String
,因为它有更多优点。
注意:在具有复杂值类型的其他语言中,还有另一种更好的选择,即使用仅由 String 组成的值类型,但提供额外的类型安全性以及(分解)其组件的方法。
关于Java JCache 字符串键与复合键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50821254/
我将 JCache 与 Hibernate 一起使用,如下所示: org.hibernate hibernate-jcache
我正在使用 JCache 来缓存 Web 响应。缓存键包含以下字段: Controller :字符串 操作:字符串 参数:数组 我创建了 ResponseKey 类并将其用作缓存键类型: public
我正在使用jquery的jCache插件http://plugins.jquery.com/project/jCache缓存我在刷新之间计算的一些数据,问题是,页面刷新后,缓存的数据似乎丢失了。
我故意在我的类路径中有几个不同的缓存提供程序。我有用于分布式缓存的 Hazelcast 和用于本地缓存的 Caffeine。我正在尝试使用 JCache (JSR107) 注释来缓存我的值。 我已经创
我使用 JCache 和 Infinispan 作为其实现。 JCache没有提供任何与集群相关的API,因此我在XML配置文件中定义了简单的复制缓存配置:
我使用了 JCache 和 EhCache 作为提供者。使用 MBean,我能够获得缓存统计信息,但缺少诸如缓存大小之类的属性。我看到 LiveCacheStatistics 提供了它,但是如何从 J
集群失效键值缓存仅通过网络发送删除命令。当一个节点上的某个键的值被更改或删除时,删除命令会与该键一起发送到每个其他节点,因此他们需要在下次需要时从持久存储中获取该数据(或重新计算它)。 我的问题是:基
正如我的问题标题所说,Memcache 是否应该与 Google 云端点配合良好?在本地,我可以使用 JCache 存储键/值对在我的应用程序中,并从 Google Cloud Endpoints A
我想将内容缓存在 JavaEE 应用程序服务器的 Java 堆上的数据库表中,如下所示。 | group | key | value
我有一个使用 Spring 缓存注释的 Spring Boot 应用程序。现在我想迁移到 JSR-107 (JCache) 注释。 这是我的方法: @Cacheable(value = "result
我正在将 JCache 注释与 Spring 和 EhCache 一起使用。如果我在方法上使用 @CacheResult 而不指定缓存名称(或类上的 @CacheDefaults),则默认缓存名称将解
假设我想缓存昂贵方法调用的结果。这些缓存条目应该有不同的过期时间(又名 TTL)。如果将条目放入同一个缓存实例中,这对于 JCache 是否可行? 我知道我可以为每个缓存分配不同的 ExpiryPol
在我看来,JCache EntryListener 的回调机制有问题。我正在尝试设置几个 jcache 成员(hazelcast 实现),每个成员在我的本地计算机上作为单个 java 应用程序运行(目
我们正在尝试以这样的方式实现 JCache,以便我们可以轻松地交换任何符合 JSR-107 的缓存提供程序。我们使用 Spring,我们的 CachingProvider Bean 如下所示: @Be
我想要一个保存项目列表的缓存。这是我的 bean 定义: public Cache> getMyCacheManager(CacheManager manager) { Cache> cach
请注意:如果这个问题中提到的缓存系统的工作方式彼此完全不同,以至于几乎不可能回答这个问题,那么我会将这个问题简化为仅兼容 JCache (JSR107) 的任何问题。 分布式缓存游戏中的主要参与者(至
我正在尝试使小型 Hazelcast 集群与简单的 JCache 兼容客户端协作。不幸的是,我得到了异常:“java.lang.IllegalArgumentException:没有使用名称注册的服务
假设我编写了一个库并希望缓存一些长时间运行或脆弱任务的结果。为此,我使用 JCache我的代码中的 API。 所以我的pom.xml将包含一个依赖项,例如 javax.cache c
我正在使用 JCache API 在我的应用程序中配置缓存,该应用程序将 spring 缓存与 Ehcache 3 结合使用。 cacheManager.createCache("users", ne
在我的 Spring+JCache+ehcache 3.5 项目中,我有一个方法应该清除两个缓存。 我试过: @CacheRemoveAll(cacheName = "cache1") @CacheR
我是一名优秀的程序员,十分优秀!