Spring boot整合redis

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值