Spring Data Redis對字符串的操作,封裝在了ValueOperations和BoundValueOperations中,在集成好了SPD之后,在需要的地方引入:
// 注入模板操作實例
@Autowired
private RedisTemplate template;
// 從模板中取出對應(yīng)的操作類實例
@Resource(name = "redisTemplate")
private ValueOperations valueOps;
由于存儲在Redis中的鍵和值通常是java.lang.String,因此Redis模塊為RedisConnection和RedisTemplate提供了兩個擴展,分別是StringRedisConnection(及其DefaultStringRedisConnection實現(xiàn))和StringRedisTemplate(相當于RedisTemplate<String, String>)。
org.springframework.data.redis.core.StringRedisTemplate源碼如下:
public class StringRedisTemplate extends RedisTemplate<String, String> {
/**
* Constructs a new <code>StringRedisTemplate</code> instance. {@link #setConnectionFactory(RedisConnectionFactory)}
* and {@link #afterPropertiesSet()} still need to be called.
*/
public StringRedisTemplate() {
RedisSerializer<String> stringSerializer = new StringRedisSerializer();
setKeySerializer(stringSerializer);
setValueSerializer(stringSerializer);
setHashKeySerializer(stringSerializer);
setHashValueSerializer(stringSerializer);
}
/**
* Constructs a new <code>StringRedisTemplate</code> instance ready to be used.
*
* @param connectionFactory connection factory for creating new connections
*/
public StringRedisTemplate(RedisConnectionFactory connectionFactory) {
this();
setConnectionFactory(connectionFactory);
afterPropertiesSet();
}
protected RedisConnection preProcessConnection(RedisConnection connection, boolean existingConnection) {
return new DefaultStringRedisConnection(connection);
}
}
實際就是繼承自RedisTemplate<String, String>并且對應(yīng)的序列化器是StringRedisSerializer。