gpt4 book ai didi

caching - Java 缓存系统(JCS) - 以编程方式创建区域

转载 作者:行者123 更新时间:2023-12-02 10:07:00 24 4
gpt4 key购买 nike

我们计划在我们的应用程序中使用一些缓存机制,并在与许多其他缓存解决方案进行比较研究后选择了Java缓存系统(JCS)。当我使用外部配置(cache.ccf)来定义缓存区域及其属性(如 maxlife、ideltime 等)时,一切都很好。

但需求已更改为具有动态缓存区域,即我们需要在运行时定义缓存区域及其属性。我无法找到有关此操作的更多详细信息或示例。我在运行时成功创建了缓存区域(使用下面的方法签名)。

ICompositeCacheAttributes  cattr=..
IElementAttributes attr = new ElementAttributes();
attr.setIsEternal(false);
attr.setMaxLifeSeconds( maxLife );
defineRegion(name, cattr,attr);

但问题是,IElmentAttributes 没有设置到缓存。我研究了 JCS 的来源,发现 attr 从未设置。这是未使用的参数!有点奇怪

经过更多谷歌搜索后,我找到了以下手动设置属性的选项,但仍然不起作用

 IElementAttributes attr = new ElementAttributes();
attr.setIsEternal(false);
attr.setMaxLifeSeconds( maxLife );
jcs.setDefaultElementAttributes(attr);

我想要的只是为创建的区域设置 maxLifeSeconds。

最佳答案

我找到了解决问题的方法,当您将数据放入缓存时,我们需要设置属性。有兴趣的人可以查看实现,

JCS jcs = JCS.getInstance("REGION");
IElementAttributes attr = new ElementAttributes();
attr.setIsEternal(false);
attr.setMaxLifeSeconds( maxLife );
jcs.put("Key",data, attr);

关于caching - Java 缓存系统(JCS) - 以编程方式创建区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12761832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com