2

我是 Spring Boot 缓存的新手,根据我的要求,我想将 JCS 与 spring boot(rest api)一起使用。我在谷歌上搜索过,但没有太多关于它的信息。

java类有可用的信息。有没有人知道如何使用它或任何相关的教程或信息。

这可能是基于意见的问题。但这是非常需要的。

  public static void main(String[] args) {
//   Initialize the JCS object and get an instance of the default cache region
try {
    JCS cache = JCS.getInstance("default");

String key = "key0";
String value = "value0";

cache.put(key, value);
cache.put("vasu","dev");


} catch (CacheException e) {
    e.printStackTrace();
}

}

4

2 回答 2

1

就使用 spring boot 进行缓存而言,spring 支持以下缓存提供程序,正如以下链接中所提到的。

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-caching.html

引用,它说

如果您尚未定义 CacheManager 类型的 bean 或名为 cacheResolver 的 CacheResolver(请参阅 CachingConfigurer),Spring Boot 会尝试检测以下提供程序(按指示的顺序):

  • 通用的
  • JCache (JSR-107)(EhCache 3、Hazelcast、Infinispan 等)
  • EhCache 2.x
  • 榛树
  • 英菲尼斯潘
  • 沙发底座
  • 雷迪斯
  • 咖啡因
  • 简单的

我会建议使用 Ehcache,您可以在下面的链接中使用 Spring 框架查看更多关于 Ehcache 的详细信息。 https://www.baeldung.com/spring-cache-tutorial

如果您只对 JCS 感兴趣,请参考下面的链接了解一下。

https://codyburleson.com/quick-and-simple-caching-with-apache-commons-jcs/

如果 pf Spring boot,我建议创建类并将 JCS 包装在该类中,以便您可以连接任何类,以便您可以抽象出 JCS 实现细节。我提供以下大纲。

@Autowired CacheUpdater 缓存更新;

在方法中,你可以这样写,

public void someMethod(... params) { cacheUpdater.update(key,value) }

没有必要,您必须有一个名为 update() 的方法,您可以创建任何方法,并且它应该在内部调用 JCS 以将键和值放入缓存中。

于 2019-06-01T06:24:50.537 回答
0

使用 Spring Boot,您可以指定以下属性以将 JCS 插件作为符合 JSR 107 的缓存实现。

spring.cache.jcache.config=classpath:cache.ccf

cache.ccf 是 JCS 的配置文件,可以放在类路径中的任何位置。

参考:spring JSR-107 参考:JCS 概述

spring.cache.jcache.provider只要您只使用一个缓存提供程序,就不需要指定该属性。

于 2021-10-14T00:42:06.877 回答