spring - 如何在 Amazon AWS Elasticache Redis + Spring Data 上配置驱逐(生存时间)

标签 spring caching redis amazon-elasticache

我正在开发一个项目,我们在其中使用 Spring Data Cache 抽象和 AWS Elasticache Redis,我想知道如何配置缓存中对象的逐出时间。

关于如何使用 Elasticache Redis 配置 Spring Data Cache Abstraction 的官方文档并不多。我们在这里找到了一些有用的信息:http://blog.joshuawhite.com/java/caching-with-spring-data-redis/

但是没有关于配置缓存对象的逐出时间或生存时间的内容。有帮助吗?

最佳答案

您可以通过在 RedisCacheManager 中提供过期映射来配置逐出时间。例如 你有这样指定的可缓存方法:

@Cacheable(value = "customerCache", key = "#id")
public Customer findOne(Integer id) {
    return customerRepository.findOne(id);
}

在您的 applicationContext.xml 中,它将如下所示:

<bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager" c:template-ref="redisTemplate" p:usePrefix="true">
    <property name="expires">
        <map>
            <entry key="customerCache" value="350"/>                    
        </map>
    </property>
</bean>

这会将“customerCache”值配置为在这些值首次添加到缓存后 350 秒被逐出。

关于spring - 如何在 Amazon AWS Elasticache Redis + Spring Data 上配置驱逐(生存时间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21707596/

相关文章:

java - 一个关于Spring IoC的简单问题

java - 密码和用户名存储在 Apache Ignite 中的哪里?

redis - Laravel Predis 更新/删除数组中的 1 个键

redis - 更改 redis 命令提示 rune 本

spring - Spring Boot中的ElasticSearch凭证

java.lang.NoSuchMethodError : org. springframework.util.Assert.noNullElements

spring - 带有多个参数的href spring

java - 需要用Android Studio删除缓存

java - Guava 缓存的复杂键(移位)

java - 带有自定义实体的SpringBoot注入(inject)RedisTemplate