/** * 取尽存储的值,获取最新值 * * @param key * @return */ @Override public String popData(String key) { List<String> list = new ArrayList<>(); String popDataKey = RedisKeyPrefix.getPopDataKey(key); // 同步锁 boolean lockStatus = redistemplate.opsForValue().setIfAbsent(popDataKey, 1, 5, TimeUnit.SECONDS); if (!lockStatus) { return null; } while (redistemplate.hasKey(key)) { Object data = redistemplate.opsForList().leftPop(key); if (data != null) { list.add(data.toString()); } } redistemplate.delete(popDataKey); if (CollectionUtils.isEmpty(list)) { return null; } return list.get(list.size() - 1); }
// 存储值 public void pushData(String key, String value) { redistemplate.opsForList().rightPush(key, value); }
// 取尽存储的值 public List<String> popAllData(String key) { List<String> list = new ArrayList<>(); while (redistemplate.hasKey(key)) { Object data = redistemplate.opsForList().leftPop(key); if (data != null) { list.add(data.toString()); } } return list; }
// CURD /** * 新增或更新 * * @param key * @param value */ public void setorUpdateData(String key, String value) { redistemplate.opsForValue().set(key, value); } /** * 获取值 * * @param key * @return */ public String getData(String key) { return (String) redistemplate.opsForValue().get(key); } /** * 批量删除 * * @param key 前缀 */ public void deleteData(String key) { redistemplate.delete(redistemplate.keys(key + "*")); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。