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可视化界面