redis 实现计数
利用hash 数据结构 实现,下面是递增和递减方法
/**
* hash递增 如果不存在,就会创建一个 并把新增后的值返回
*
* @param key 键
* @param item 项
* @param value 要增加几(大于0)
* @return
*/
public double hincr(String key, String item, double value) {
return redisTemplate.opsForHash().increment(key, item, value);
}
/**
* hash递减
*
* @param key 键
* @param item 项
* @param value 要减少记(小于0)
* @return
*/
public double hdecr(String key, String item, double value) {
return redisTemplate.opsForHash().increment(key, item, -value);
}
举例,现在要实现一个记录该页面有多少人浏览的功能,
@Data
public class DataReq {
private String activityName;
}
public void pageNumbers(@RequestBody DataReq dataReq) {
dataService.pageNumbers(dataReq);
}
String activityName = dataReq.getActivityName();
redisUtil.hincr("page-numbers", activityName, 1); // 页面浏览量