您的位置:首页 > 数据库 > Redis

Spring boot整合redis

2019-02-28 15:06 369 查看

pom文件引入

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

spring封装了操作redis的工具RedisTemplate;

@Service
public class redisService {
@Autowired
RedisTemplate redisTemplate;

/**
* 插入数据
* @param key
* @param value
* @return
*/
public boolean set(final String key, Object value){
boolean result = false;
try{
ValueOperations<Serializable,Object> operations = redisTemplate.opsForValue();
operations.set(key,value);
result = true;
}catch (Exception e){
e.printStackTrace();
}
return result;
}

/**
* 插入带有时间的数据
* @param key
* @param value
* @param expireTime
* @return
*/
public boolean set(final String key , Object value , Long expireTime){
boolean result = false;
try{
ValueOperations<Serializable,Object> operations = redisTemplate.opsForValue();
operations.set(key,value);
redisTemplate.expire(key,expireTime, TimeUnit.HOURS);
result = true;
}catch (Exception e){
e.printStackTrace();
}
return result;
}

/**
* 取值
* @param key
* @return
*/
public Object get(final String key){
Object result = null;
ValueOperations<Serializable,Object> operations = redisTemplate.opsForValue();
result=operations.get(key);
return result;
}

/**
* 列表添加
* @param k
* @param v
*/
public boolean lPush(String k,Object v){
ListOperations<String, Object> list = redisTemplate.opsForList();
list.leftPush(k,v);
return true;
}

/**
* 列表获取
* @param k
* @param l
* @param l1
* @return
*/
public List<Object> lRange(String k, long l, long l1){
ListOperations<String, Object> list = redisTemplate.opsForList();
return list.range(k,l,l1);
}

测试代码

@RestController
@CrossOrigin(origins = "*")
@Api(tags = "测试redis", description = "测试redis")
@RequestMapping("/redis")
public class redisController {
@Autowired
redisService redisService;

@ApiOperation("insert")
@PostMapping("/insert")
public Map insert(@ApiParam("请求参数对象") @RequestBody Map<String, Object> paramMap) {
Map resultMap = new HashMap();
String key = paramMap.get("key").toString();
String value = paramMap.get("value").toString();
if (redisService.set(key,value)){
resultMap.put("nb","ok");
}else{
resultMap.put("不对","有问题");
}
return resultMap;
}

@ApiOperation("插入列表")
@PostMapping("/insertList")
public Map insertList(@ApiParam("请求参数对象") @RequestBody Map<String, Object> paramMap) {
Map resultMap = new HashMap();
String key = paramMap.get("key").toString();
String value =paramMap.get("value").toString();
if (redisService.lPush(key,value)){
resultMap.put("nb","ok");
}else{
resultMap.put("不对","有问题");
}
return resultMap;
}

@ApiOperation("getList")
@PostMapping("/getList")
public Map getList(@ApiParam("请求参数对象") @RequestBody Map<String, Object> paramMap) {
Map resultMap = new HashMap();
String key = paramMap.get("key").toString();
List value = redisService.lRange(key,1,4);
resultMap.put("value是",value);
return resultMap;
}

@ApiOperation("getInfo")
@PostMapping("/getInfo")
public Map getInfo(@ApiParam("请求参数对象") @RequestBody Map<String, Object> paramMap) {
Map resultMap = new HashMap();
String key = paramMap.get("key").toString();
String value = redisService.get(key).toString();
resultMap.put("value是",value);
return resultMap;
}
}

使用swagger-ui辅助测试
项目地址https://github.com/ht000/Test_Redis.git

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: