如何在spring-boot应用程序中使用可缓存注释,当它已经使用jedis作为快速存储时



我正在做java spring项目(spring Boot v2.3.3.RELEASE,spring v.2.8.RELEASE(。

我想使用spring的@Cacheable注释和自定义缓存(而不是spring默认缓存(。我已经在这个应用程序中配置了Jedis作为快速存储。为了使用这个注释,我需要配置cacheManger,但我不知道如何实现它,所以它将与Jedis一起使用,我只找到Redis。

任何帮助都将不胜感激!

在设置CacheManager -> RedisCacheManager -> RedisTemplate -> JedisConnectionFactory -> Redis(Cluster/Standalone)Configuration + JedisClientConfiguration时发现此堆栈帖子

认为RedisStandalone配置最适合您的需求:

用于通过设置RedisConnection的配置类RedisConnectionFactory使用连接到单个节点Redis安装

没有JedisCachemanager,只有像您所说的RedisCacheManager,因此您必须使用JedisConnectionFactory:redisTemplate.setConnectionFactory(getJedisConnectionFactory())设置RedisTemplate,然后您可以使用您的特定配置设置jedisConnectionFactory,例如设置数据库索引名、redis主机名、JedisClientConfiguration、超时等。请参阅JedisConnectionFactory

JedisConnectionFactory设置的示例设置

redisTemplate.setConnectionFactory(getJedisConnectionFactory())
private JedisConnectionFactory getJedisConnectionFactory() {      
JedisConnectionFactory jedisConnectionFactory = new 
JedisConnectionFactory();      
jedisConnectionFactory.setClientName("myClientName");      
jedisConnectionFactory.set(new JedisClientConfiguration(
new RedisStandaloneConfiguration(...), 
new JedisClientConfiguration(...)))

最新更新