RedisTemplate介绍
Spring封装了RedisTemplate对象来进行对Redis的各种操作,它支持所有的Redis原生的api。RedisTemplate位于spring-data-redis包下。
RedisTemplate在Spring代码中的结构如下:
org.springframework.data.redis.core
Class RedisTemplate<K,V>
java.lang.Object o
rg.springframework.data.redis.core.RedisAccessor
org.springframework.data.redis.core.RedisTemplate<K,V>
Type Parameters:
K
- the Redis key type against which the template works (usually a String) 模板中的Redis key的类型(通常为String)如:RedisTemplate<String, Object> 注意:如果没特殊情况,切勿定义成RedisTemplate<Object, Object>,否则根据里氏替换原则,使用的时候会造成类型错误 。
- 建议使用RedisTemplate<String, String>避免序列化问题。使用StringRedisTemplate类(StringRedisTemplate继承RedisTemplate<String, String>)。
V
- the Redis value type against which the template works 模板中的Redis value的类型
RedisTemplate中定义了对5种数据结构操作
redisTemplate.opsForValue(); //操作字符串 redisTemplate.opsForHash(); //操作hash redisTemplate.opsForList(); //操作list redisTemplate.opsForSet(); //操作set redisTemplate.opsForZSet(); //操作有序set
Redis的String数据结构
- set void set(K key, V value); 使用:redisTemplate.opsForValue().set("name","tom");
- set void set(K key, V value, long timeout, TimeUnit unit); timeout超时设置<