pom文件引用
<!--Redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
在配置文件中配置redis
spring:
redis:
host: 127.0.0.1
# password: KgvV23b0ZG
port: 6379
database: 0
timeout: 60s # 数据库连接超时时间,2.0 中该参数的类型为Duration,这里在配置的时候需要指明单位
# 连接池配置,2.0中直接使用jedis或者lettuce配置连接池
jedis:
pool:
# 最大空闲连接数
max-idle: 100
# 最小空闲连接数
min-idle: 50
# 等待可用连接的最大时间,负数为不限制
max-wait: -1s
# 最大活跃连接数,负数为不限制
max-active: -1
把目标数据存储到redis中
存储redis中格式
Map<String, Map<String, String>>
引入RedisTemplate
@Autowired
private RedisTemplate<String, String> redisTemplate;
存储到redis中方法
public void redis(@RequestBody String str){
//设置外层最大key
String redisKey = "redisKey";
//设置存储map
Map<String, String> map = new HashMap<>();
//往redis中存储10条数据
for(int i = 0, length = 10; i < length; i++){
//设置key(UUID)
String key = UUID.randomUUID().toString().replaceAll("-", "");
map.put(key, str);
}
redisTemplate.opsForHash().putAll(redisKey, map);
}
运行结果
存储的数据格式为postman中传到后台的格式,如需存储别的格式可以获取完在处理(由于测试的时候使用的post请求方式,所以添加了@RequestBody,如get请求方式可以使用@PathVariable)
获取redis中的数据
public Map<String, Object> redis(){
Map<String, Object> resultMap = new HashMap<>();
//由于存储的时候最外层的大key是写死的,所以也需要在这块写死
String redisKey = "redisKey";
//获取所有key集合
Set<Object> setKey = redisTemplate.opsForHash().keys(redisKey);
resultMap.put("key", setKey);
//获取所有的value
List<Object> list = redisTemplate.opsForHash().values(redisKey);
resultMap.put("value", list);
return resultMap;
}
运行结果
删除redis中数据
public void redis(){
//由于存储的时候最外层的大key是写死的,所以也需要在这块写死
String redisKey = "redisKey";
//获取key
Set<Object> setKey = redisTemplate.opsForHash().keys(redisKey);
//截取key的set集合
List<Object> subSetKey = Arrays.asList(setKey.toArray()).subList(0, 5);
redisTemplate.boundHashOps(redisKey).delete(subSetKey.toArray());
}
删除结果