跳到主要内容

6. Redis 缓存

如果你希望使用 Redis 来缓存结果,那么你需要在 classpath 上具有 Lettuce 配置依赖项。Lettuce 是一个非阻塞、响应式 Redis 客户端实现,Micronaut 提供了一个允许反应式读取缓存结果的实现。

在应用程序配置中,配置 Redis URL 和 Redis 缓存:

缓存配置示例

redis:
uri: redis://localhost
caches:
my-cache:
# expire one hour after write
expire-after-write: 1h

具有动态过期策略的缓存配置示例

redis:
uri: redis://localhost
caches:
my-cache:
# expire based on result from class implementing ExpirationAfterWritePolicy
expiration-after-write-policy: <class path of class implementing ExpirationAfterWritePolicy>

表 1. RedisCacheConfiguration 的配置属性

属性类型描述
redis.caches.*.serverjava.lang.String
redis.caches.*.key-serializerjava.lang.Class
redis.caches.*.value-serializerjava.lang.Class
redis.caches.*.charsetjava.nio.charset.Charset用于序列化和反序列化值的字符集
redis.caches.*.expire-after-writejava.time.Duration写入缓存后的缓存过期时间。
redis.caches.*.expire-after-accessjava.time.Duration访问后的缓存过期时间
redis.caches.*.expiration-after-write-policyjava.lang.StringExpirationAfterWritePolicy 的一个实现的类路径

英文链接