redis的存值,取值,刪除,判斷是否過期


1.redis中String類型的存和取

//存驗證碼
redisDao.set(CommonConstant.BLUECAT_LOGIN_APP_CODE + mobile, captcha+"", 5, TimeUnit.MINUTES);
//取驗證碼
 redisVCode = redisDao.get(CommonConstant.BLUECAT_LOGIN_APP_CODE + mobile ,String.class);

2.redis中存放list結構的數據

//在redis中保存產品線信息,避免每次查詢都從數據庫查詢
List<Product> list = productMapper.getList();
redisDao.put(CommonConstant.REDIS_PRODUCTIDLISTSTR,"product", JSON.toJSON(list).toString());

3.從redis中取list結構的數據

 //從redis中取所有產品線信息
String productListStr = redisDao.getHashValue(CommonConstant.REDIS_PRODUCTIDLISTSTR,"product");
List<Product> productList = JSON.parseArray(productListStr, Product.class);

4.redis中存放list結構的數據,每個product,存一個數據

//在redis中保存產品線信息,避免每次查詢都從數據庫查詢
List<Product> list = productMapper.getList();
        for(Product product:list){
            redisDao.put(CommonConstant.REDIS_PRODUCTLIST, product.getSign(), CommonUtil.beanToString(product));
        }

5.從redis中取list結構的數據,每個product,存一個數據

//"lm"是產品線標誌和product.getSign()值對應
String value = redisDao.getHashValue(CommonConstant.REDIS_PRODUCTLIST, "lm");
Product product = CommonUtil.stringToBean(value, Product.class);
//輸出結果
System.out.println(product.getIcon());

6.刪除redis

redisDao.del(CommonConstant.REDIS_PRODUCTLIST);

7.判斷redis中的數據是否過期

redisDao.hasKey(evaluate.getMsgNum());
true:沒過期
false:已過期

8.重置redis的過期時間

redisDao.expire(msgNum,CommonConstant.msgNumUpTime,TimeUnit.MINUTES);

9.查詢redis過期的剩餘時間:還剩多久過期

 long expireTime = redisDao.ttl(msgNum);

10.批量刪除redis中的數據

 /**
     * 平臺緩存清理
     * @return
     */
    @RequiresPermissions("system:delcache")
    @RequestMapping(value = "delcache")
    public ResultData delcache(){
        Set<String> delSet = new HashSet<>();
        Set<String> caches = redisDao.getKeysByLike(CommonConstant.CACHE_PREFIX+"*");
        for (String cache : caches) {
            Set<String> keySet = redisDao.zRange(cache, 0, -1);
            for (String key : keySet) {
                delSet.add(key);
            }
        }
        delSet.addAll(caches);
        redisDao.delCollection(delSet);
        return ResultData.ok();
    }

11.redis新增錯誤次數

//第一個參數是key,第二個是增長的值,第三個是過期時間(24小時)
redisDao.incrementRemain(dayKey,1,24*60*60);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章