支持类
org.springframework.data.redis.support
包提供了各种可重用的组件,这些组件依赖于 Redis 作为后端存储。目前,该包包含了基于 JDK 的接口在 Redis 上的各种实现,例如 atomic 计数器和 JDK Collections。
备注
RedisList 与 Java 21 的 SequencedCollection
是向前兼容的。
- Java
- XML
@Configuration
class MyConfig {
// …
@Bean
RedisList<String> stringRedisTemplate(RedisTemplate<String, String> redisTemplate) {
return new DefaultRedisList<>(template, "queue-key");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="queue" class="org.springframework.data.redis.support.collections.DefaultRedisList">
<constructor-arg ref="redisTemplate"/>
<constructor-arg value="queue-key"/>
</bean>
</beans>
以下示例展示了一个 Deque
的 Java 配置示例:
public class AnotherExample {
// injected
private Deque<String> queue;
public void addTag(String tag) {
queue.push(tag);
}
}
如前例所示,消费代码与实际存储实现是解耦的。事实上,代码中并没有明确表明底层使用了 Redis。这使得从开发环境迁移到生产环境变得透明,并极大地提高了可测试性(Redis 实现可以被替换为内存实现)。