RedisTemplate位于spring-data-redis包下。RedisTemplate提供了redis各种操作、异常处理及序列化,支持发布订阅。
一、Redis的五种类型常用操作:使用RedisTemeplate
在maven中添加依赖(下面只是主要的部分依赖)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
spring-data-redis针对jedis提供了如下功能:
1.连接池自动管理,提供了一个高度封装的RedisTemplate
类
2.针对jedis客服端api进行了归类封装,将同一操作类型封装为operation
接口
jedis五大类型
1.ValueOperations :简单K-V操作
2.SetOperations : set类型操作
3.ZsetOperation : zset类型操作
4.MapOperation : map类型操作
5.ListOperation : list类型操作
RedisTemplate对五种类型的操作方式如下:
redisTemplate.opsForValue() redisTemplate.opsForSet() redisTemplate.opsForZSet() redisTemplate.opsForMap() redisTemplate.opsForList()
或者使用下面的方式
redisTemplate.boundValueOps() redisTemplate.boundSetOps() redisTemplate.boundZSetOps() redisTemplate.boundMapOps() redisTemplate.boundListOps()
opsForXXX和boundXXXOps的区别?
前者获取一个operator,但是没有指定操作的对象(key),可以在一个连接(事务)内操作多个key以及对应的value;后者获取了一个指定操作对象(key)的operator,在一个连接(事务)内只能操作这个key对应的value。
1、Value(值)类型
@Test
public void testValue(){
redisTemplate.boundValueOps("testValue1").set("value1");
redisTemplate.boundValueOps("testValue2").set("value2");
}
@Test
public void getValue(){
Object o1 = redisTemplate.boundValueOps("testValue1").get();
Object o2 = redisTemplate.boundValueOps("testValue2").get();
System.out.println(o1 + " " + o2);
}
//输出 value1 value2
2、set类型:无序、不可重复
这个是用的这个redis软件,看你们要用没
redis可视化界面