由于一篇文章写的过长会导致阅读不便,因此,其余的分别在:
Redis开发实例(3)-List
Redis开发实例(3)-Hash
Redis开发实例(3)-Set
Redis开发实例(3)-ZSet中进行说明,需要强调的是用Redis存储的参数都可以简写为key-value,这里的value必须经过序列化,否则就会报错。首先,Spring框架中注入redisTemplate模板对象,用该模板对象操作Redis
<!-- 配置一个redis的操作模板 -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnFactory" />
</bean>
String类型的:key-value
操作String类型的方法:opsForValue()底层实现:
public ValueOperations<K, V> opsForValue() {
if (valueOps == null) {
valueOps = new DefaultValueOperations<K, V>(this);
}
return valueOps;
}ValueOperations<K,V>:
@param <K> the Redis key type against which the template works (usually a String)
@param <V> the Redis value type against which the template works
由上面的方法,可以看到返回值为ValueOperations类型的对象,方法体内return的是一个valueOps,进入valueOps,可以看到:
DefaultValueOperations(RedisTemplate<K, V> template) {
super(template);
}该类的构造方法调用的是父类的构造方法,参数是RedisTemplate对象,去这个类的父类中看:
AbstractOperations(RedisTemplate<K, V> template) {
this.template = template;
}
也就是这个Redis模板类调用自己的方法,返回一个可以操作字符串的对象ValueOperations<K,V>。
对于这个对象的泛型<K,V>:
/**
* Set {@code value} for {@code key}.
*
* @param key must not be {@literal null}.
* @param value
* @see <a href="http://redis.io/commands/set">Redis Documentation: SET</a>
*/
void set(K key, V value);可以看出key在这里不能为空,加上之前的条件,K通常是String类型,就是key这个变量可以使用的界限了
在ValueOperations类中有多个方法,可以操作Redis对String类型的数据进行存取操作。
本文详细介绍如何使用Spring框架中的redisTemplate来操作Redis中的String类型数据。包括配置redisTemplate、使用ValueOperations进行基本的读写操作等内容。
206

被折叠的 条评论
为什么被折叠?



