java中redis增删查以及清理缓存的案例

网友投稿 371 2022-11-02


java中redis增删查以及清理缓存的案例

我就废话不多说了,大家还是直接看代码吧~

Controller

@ApiOperation(value = "获取信息放入Redis中")

@RequestMapping(value = "/getPropertyTakeLookShoppingDetailRedis",method = RequestMethod.POST)

public jsonResult getPropertyTakeLookShoppingDetailRedis(@RequestBody PropertyTakeLookRedisParam param) throws Exception {

log.info("PropertyTakeLookController.getPropertyTakeLookShoppingDetailRedis:" + param);

JSONObject jsonObject = propertyTakeLookWriteService.getPropertyTakeLookShoppingDetailRedis(param);

log.info("PropertyTakeLookController.getPropertyTakeLookSysInfo:" + jsonObject);

return JsonResult.getResult(jsonObject);

}

Service

增删查区分 读缓存 = 0; 添加 =1;删除 = 2 ; 清除相应经纪人清单缓存 = 3 ")

/**

* 获取信息放入Redis中

* @return

* @throws Exception

*/

public JSONObject getPropertyTakeLookShoppingDetailRedis(PropertyTakeLookRedisParam param) throws Exception {

String takeLookStr = "DKQD";

checkArgument(StringUtils.isNotBlank(param.getTakeLookUserEmpNo()), "工号不能为空!");

checkArgument(param.getSelOrAddOrRemove() != null, "增删查区分不能为空!");

String takeLookUserEmpNo = param.getTakeLookUserEmpNo();

JSONObject jsonObject;

if(redisHandle.exists(takeLookUserEmpNo+takeLookStr) && param.getSelOrAddOrRemove() == 0){

jsonObject = JSONObject.parseObject(redisHandle.get(takeLookUserEmpNo+takeLookStr).toString());

} else if(param.getSelOrAddOrRemove() == 1 || param.getSelOrAddOrRemove() == 2){

Long[] effectiveIds = param.getPropertyEffectiveId();

PropertyTakeLookShoppingCartParam propertyTakeLookShoppingCartParam = new PropertyTakeLookShoppingCartParam();

BeanUtils.copyProperties(param,propertyTakeLookShoppingCartParam);

propertyTakeLookShoppingCartParam.setPropertyEffectiveId(effectiveIds);

//获取信息

PageInfo> takeLookDetail = propertytakelookService.getPropertyTakeLookShoppingCartDetail(propertyTakeLookShoppingCartParam);

System.out.print("参数查看" + JsonResult.getResult(takeLookDetail).toJson());

jsonObject = JSONObject.parseObject(JsonResult.getResult(takeLookDetail).toJson());

Object jsonArray = jsonObject.get("data");

redisHandle.set(takeLookUserEmpNo+takeLookStr,jsonArray);

}else if (redisHandle.exists(takeLookUserEmpNo+takeLookStr) && param.getSelOrAddOrRemove() == 3){

//物理清除缓存

redisHandle.remove(takeLookUserEmpNo+takeLookStr);

jsonObject = new JSONObject();

jsonObject.put("code",ErrorCode.SUCCESS.getCode());

jsonObject.put("msg",ErrorCode.SUCCESS.getMsg());

}else {

jsonObject = new JSONObject();

jsonObject.put("code",ErrorCode.SUCCESS.getCode());

jsonObject.put("msg",ErrorCode.SUCCESS.getMsg());

}

return jsonObject;

}

补充:java按照关键字指定的key删除redis(支持模糊删除)

pom依赖:

redis.clients

jedis

2.5.0

代码直接可用:

import org.testng.annotations.BeforeClass;

import org.testng.annotations.Test;

import redis.clients.jedis.Jedis;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

public class TestRedis {

private Jedis jedis;

@BeforeClass

public void setup() {

//连接redis服务器,ip

jedis = new Jedihttp://s("ip", 6379);

//权限认证

jedis.auth("123456");

}

/**

* 删除数据

*

*

* @param key:要删除数据的key

* @return:返回boolean值,表示是否删除成功

*/

public boolean delete(String key) {

if (jedis.exists(key)) {

if (jedis.del(key) == 1) {

System.out.println("删除数据成功");

return true;

} else {

System.out.println("删除数据失败");

return false;

}

} else {

System.out.println(key + "不存在");

return false;

}

}

@Test

public void test() {

delete("age");

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:9、流类库与输入/输出2.3输出文件流成员函数
下一篇:google安装于ubuntu14.04 64bit问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~