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);