导入依赖
org.springframework.boot spring-boot-starter-data-redis
application.yml
spring:
# redis配置
redis:
# 服务器地址
host: 127.0.0.1
# 端口
port: 6379
password:
# 数据库
database: 1
# 超时时间
timeout: 10000ms
lettuce:
pool:
# 最大连接数, 默认8
max-active: 8
# 最大连接阻塞等待时间, 默认-1
max-wait: 10000ms
# 最大空闲连接, 默认8
max-idle: 200
# 最小空闲连接, 默认0
min-idle: 5
logging:
level:
com.xxx.seckill.mapper: debug
1、操作 string (常用)
@Autowired
private RedisTemplate redisTemplate;
@RequestMapping("/string")
@ResponseBody
public void string(){
ValueOperations valueOperations = redisTemplate.opsForValue();
// 插入一条数据
valueOperations.set("userName","zhangsan");
// 获取一条数据
System.out.println(valueOperations.get("userName"));
// 插入多条数据
Map map = new HashMap<>();
map.put("age","18");
map.put("sex","1");
valueOperations.multiSet(map);
//获取多条数据
List list = valueOperations.multiGet(Arrays.asList("userName", "age", "sex"));
for (Object obj : list) {
System.out.println(obj);
}
// 删除
redisTemplate.delete("userName");
}
}
2、操作 hash (常用)
@RequestMapping("/hash")
@ResponseBody
public void hash(){
HashOperations hashOperations = redisTemplate.opsForHash();
hashOperations.put("userInfo","name","lisi");
// 获取一条数据
String name = String.valueOf(hashOperations.get("userInfo", "name"));
System.out.println(name);
// 插入多条数据
Map map = new HashMap<>();
map.put("age","20");
map.put("sex","0");
hashOperations.putAll("userInfo",map);
// 获取多条数据
List list = hashOperations.multiGet("userInfo", Arrays.asList("name", "age", "sex"));
for (Object obj : list) {
System.out.println(String.valueOf(obj));
}
// 删除 用于删除hash类型数据
hashOperations.delete("userInfo","sex");
}
3、操作 list
@RequestMapping("/list")
@ResponseBody
public void list(){
ListOperations listOperations = redisTemplate.opsForList();
// 左添加一条
listOperations.leftPush("student","zhangsan");
// 左添加多条
listOperations.leftPushAll("student","list","wangwu","zhaoliu");
// 右添加一条
listOperations.rightPush("student","xiaoming");
// 右添加多条
listOperations.rightPushAll("student","xiaohong","xiaohei");
// 获取多条
List list = listOperations.range("student", 0, 6);
for (Object obj : list) {
System.out.println(obj);
}
// 删除 从左边开始删
listOperations.leftPop("student");
// 删除 从右边开始删
listOperations.rightPop("student");
// 获取条数
Long size = listOperations.size("student");
System.out.println("size: "+size);
}
4、操作 set
@RequestMapping("/set")
@ResponseBody
public void set(){
SetOperations setOperations = redisTemplate.opsForSet();
// 添加数据
String[] letters = new String[]{"aaa", "bbb", "ccc", "ddd", "eee"};
setOperations.add("letters",letters);
// 获取数据
Set let = setOperations.members("letters");
for (Object letter : let) {
System.out.println(letter);
}
// 删除
setOperations.remove("letters","aaa","bbb");
Long size = setOperations.size("letters");
System.out.println("size: "+size);
}
5、操作 sorted set
@RequestMapping("/sortedSet")
@ResponseBody
public void sortedSet(){
ZSetOperations zSetOperations = redisTemplate.opsForZSet();
// 插入单条
zSetOperations.add("score","zhangsan",99D);
// 插入多条
Set> set = new HashSet<>();
DefaultTypedTuple



