Redis知识合集(二):java客户端

[复制链接]
发表于 2025-9-11 18:43:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
redisTemplate

redis的过期时间是以 秒 为单元的
  1. //注入redisTemplate
  2. private final RedisTemplate<String, Object> redisTemplate;
复制代码
  1. private void test() {
  2.         //----------------String类型---------------------------------------------------
  3.         //3小时过期
  4.         this.redisTemplate.opsForValue().set("key", "value", Duration.ofHours(3));
  5.         this.redisTemplate.opsForValue().set("key","value",3, TimeUnit.HOURS);
  6.         //今晚零点过期
  7.         this.redisTemplate.opsForValue().set("key", "value", DateUtils.countdown(DateUtils.tomorrow()));
  8.         //4分钟过期
  9.         this.redisTemplate.opsForValue().set("key", "value", Duration.ofMinutes(4));
  10.         //2025-07-01 12:22:00 过期
  11.         Date date = DateUtils.parse("2025-07-01 12:22:00");
  12.         this.redisTemplate.opsForValue().set("key", "value", DateUtils.countdown(date));
  13.         //条件设置
  14.         //不存在设置
  15.         this.redisTemplate.opsForValue().setIfAbsent("key", "value", Duration.ofHours(3));
  16.         //存在时设置
  17.         this.redisTemplate.opsForValue().setIfPresent("key", "value", Duration.ofHours(3));
  18.         //判断key是否存在
  19.         Boolean isKey = this.redisTemplate.hasKey("key");
  20.         //----------------Hash类型---------------------------------------------------
  21.         //单个设置
  22.         this.redisTemplate.opsForHash().put("hash", "key", "value");
  23.         //多个设置
  24.         this.redisTemplate.opsForHash().putAll("hash", ImmutableMap.of("k1","v1","k2","v2"));
  25.         //对单个值递增
  26.         this.redisTemplate.opsForHash().increment("hash", "key", 1);
  27.         //获取所有value
  28.         List<Object> objects = this.redisTemplate.opsForHash().multiGet("hash", Arrays.asList("k1", "k2"));
  29.         //----------------set类型---------------------------------------------------
  30.         //添加数据
  31.         this.redisTemplate.opsForSet().add("key", "v1", "v2");
  32.         //获取所有value
  33.         Set<Object> values = this.redisTemplate.opsForSet().members("key");
  34.         //----------------list类型---------------------------------------------------
  35.         //栈
  36.         this.redisTemplate.opsForList().leftPop("k1");
  37.     }
复制代码
  1. //redis实现key自增
  2. long count = RedisContextHolder.increment(this.redisTemplate, key, 0, duration);
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表