我是Memcached的新手。我需要使用Memcached配置我的spring启动应用程序。
我对这个主题进行了很多研究,但我找不到同样的文档。 默认情况下,Spring引导使用Concurrent HashMap进行缓存,但如何配置Memcached。
我有这个GitHub网址,但我不确定这是否正确,如果是这样,我该如何使用相同的网址。
https://github.com/sixhours-team/memcached-spring-boot
更新
我现在在我的项目https://github.com/bmatthews68/memcached-spring-boot-starter中使用了这个。
喜欢这个
@Override @Cacheable(value = "defaultCache")
public String customMethof() throws InterruptedException {
return "Testing";
}
但是当我做一个telnet的get defaultCache我什么也得不到请帮助
答案 0 :(得分:4)
将此添加到Gradle Dependencies
compile group: 'net.spy', name: 'spymemcached', version: '2.12.3'
compile('com.btmatthews.springboot:memcached-spring-boot-starter:1.0.0')
在你的主要Spring启动应用程序的顶部,@SpringBootApplication
这个注释放在这个
@EnableMemcached
然后在您的组件中使用以下
@Autowired
private MemcachedClient memcachedClient;
memcachedClient.get("...")
答案 1 :(得分:4)
我是https://github.com/sixhours-team/memcached-spring-boot的作者之一。
该库将在Spring Boot应用程序中自动配置Memcached。您可以像使用Spring Cache一样启用它,即在配置类中添加@EnableCaching
注释就足够了,例如。
@Configuration
@EnableCaching
public class CacheConfiguration {
}
application.yml
中的配置可以简单如下:
memcached.cache:
servers: example1.com:11211
mode: static
expiration: 86400
目前,该库还没有发布(第一个版本应该在大约一周内发布)。您可以找到更多信息here或查看演示Spring Boot应用程序here。
还有一件事,为了支持缓存驱逐,该库的前缀为memcached:spring-boot:defaultCache:[radnom_number]
,因此在您的情况下,密钥将类似于例如
memcached:spring-boot:books:defaultCache:283:SimpleKey[]
其中 283 是分配给缓存密钥的随机数(正确缓存驱逐所需)。
答案 2 :(得分:0)
您展示的第一个GitHub项目是一个很好的解决方案。它也是一个spymemcached的fork,它是Memcached的主要客户端库之一。
请参阅以下官方文档。 http://cloud.spring.io/spring-cloud-aws/spring-cloud-aws.html#_caching
您也可以查看以下内容并转到“入门”页面。