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