Redis同步监听key的值变化
try (Jedis jedis = RedisPoolUtils.getJedis()) {
jedis.setex(PREFIX + taskId, TIME_OUT, "0");
while (jedis.exists(PREFIX + taskId)) {
String downloadId = jedis.get(PREFIX + taskId);
if (!("0".equals(downloadId))) {
if (null == downloadId || "".equals(downloadId)) {
//下载失败
convertResponse.setMsg("下载失败");
convertResponse.setCode("10004");
return convertResponse;
}
logger.info("转换成功,正在下载文件" + taskId);
}cat.....
流程是这样的 1.我向redis中添加一个key 默认值给了0 2.有另一个回调接口会异步来修改这个key的值 3.我这边需要做的就是监听这个值的变化 4.然后进行文件处理.
现在用while循环已经实现了效果 请问大家有什么更好的方法吗