RedisTemplate使用

RedisTemplate操作key

操作key的失效时间
  1. RedisTemplate.expire(String key, long timeout, TimeUnit unit)
    RedisTemplate.boundValueOps(String key).expire( long timeout, TimeUnit unit)
    设置key的失效时间,timeout是时间参数,timeunit是时间单位,返回值是布尔

  2. RedisTemplate.expireAt(String key, Date date)
    redisTemplate.boundValueOps(String key).expireAt(Date date)

    设置key在一个时间点失效,返回值是布尔

  3. RedisTemplate.getExpire(String key)
    redisTemplate.boundValueOps(String key).getExpire()

    获取key的存活时间,返回值是long

  4. RedisTemplate.getExpire(String key, TimeUnit timeUnit)
    获取key的存活时间,返回指定时间单位,返回值是long

public void testExpire() {
        // 获取当前key的失效时间
        long time1 = redisTemplate.boundValueOps("testExpire").getExpire();
        long time1A = redisTemplate.getExpire("testExpire");
        System.out.println(time1);
        System.out.println(time1A);
        // 重置失效时间为一天
        boolean result = redisTemplate.boundValueOps("testExpire").expire(24 * 3600, TimeUnit.SECONDS);
        long time2 = redisTemplate.boundValueOps("testExpire").getExpire();
        System.out.println(time2);
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        long time3 = redisTemplate.boundValueOps("testExpire").getExpire();
        System.out.println(time3);

        Calendar c = Calendar.getInstance();
        c.add(Calendar.DATE, 1);
        boolean expireAt = redisTemplate.boundValueOps("expireAt").expireAt(c.getTime());
        long time4 = redisTemplate.boundValueOps("expireAt").getExpire();
        System.out.println(time4);
        long time5 = redisTemplate.getExpire("expireAt", TimeUnit.MINUTES);
        System.out.println(time5);
    }

输出:

85630
85630
86400
86398
86401
1440
Redistemplate 是一个基于 Redis 的 Java 模板库,可以帮助开发者快速构建 Redis 应用程序。它提供了一组简单易用的 API,包括缓存、计数器、队列、分布式锁等功能。 使用 Redistemplate 需要以下步骤: 1. 引入依赖 在 Maven 或 Gradle 中引入 Redistemplate 的依赖,如下所示: Maven: ``` <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>2.5.5</version> </dependency> ``` Gradle: ``` implementation 'org.springframework.data:spring-data-redis:2.5.5' ``` 2. 配置 RedisTemplate 在 Spring 的配置文件中配置 RedisTemplate,如下所示: ``` @Configuration public class RedisConfig { @Bean public RedisConnectionFactory redisConnectionFactory() { return new JedisConnectionFactory(); } @Bean public RedisTemplate<String, Object> redisTemplate() { RedisTemplate<String, Object> template = new RedisTemplate<>(); template.setConnectionFactory(redisConnectionFactory()); template.setKeySerializer(new StringRedisSerializer()); template.setValueSerializer(new JdkSerializationRedisSerializer()); return template; } } ``` 3. 使用 Redistemplate 在代码中使用 Redistemplate,如下所示: ``` @Autowired private RedisTemplate<String, Object> redisTemplate; public void set(String key, Object value) { redisTemplate.opsForValue().set(key, value); } public Object get(String key) { return redisTemplate.opsForValue().get(key); } ``` 以上代码就实现了一个简单的缓存操作,可以通过 set 方法设置缓存,通过 get 方法获取缓存。除此之外,Redistemplate 还提供了很多其他的 API,可以根据具体需求进行使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值