细说一下RedisTemplate的使用方法(七)

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Redis 版,经济版 1GB 1个月
简介: 上篇文章我们学习了三个方法,分别是getExpire(K key)、getExpire(K key, TimeUnit timeUnit)、move三个方法,今天我们学习了RedisTemplate中的delete、expireAt、expire三个方法。

温故才能知新(复习一下)


上篇文章我们学习了三个方法,还记得是哪几个吗?分别是getExpire(K key)、getExpire(K key, TimeUnit timeUnit)、move三个方法,是否自己进行了一些尝试呢?


今天呢我们要来学习的是哪些呢?来一起学习一下吧。


开始学习,RedisTemplate系列方法之战


delete(K key)


功能描述:删除Redis中的key-value键值对相应的值,是RedisTemplate中提供的一个直接删除Redis相应值的方法。

具体代码使用

/**
 * 删除缓存
 *
 * @param key 可以传一个值 或多个
 */
public void del(String... key) {
    if (key != null && key.length > 0) {
        if (key.length == 1) {
            redisTemplate.delete(key[0]);
        } else {
            redisTemplate.delete(CollectionUtils.arrayToList(key));
        }
    }
}


使用场景:当需要删除的时候,可以使用此方法,比如我们要清理Redis中一些数据时,就需要delete方法了。


源码截图


946cb81148597b2a4440993b9fbb6b9.png


expire(K key, long timeout, TimeUnit unit)


功能描述:设置Redis相应key值的失效时间,timeout参数来指定时间数值,unit参数来指定timeout数值的单位。

具体代码使用

/**
 * 指定缓存失效时间
 *
 * @param key  键
 * @param time 时间(秒)
 * @return
 */
public boolean expire(String key, long time) {
    try {
        if (time > 0) {
            redisTemplate.expire(key, time, TimeUnit.SECONDS);
        }
        return true;
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
}


使用场景:设置一个属性值时,必然是要指定缓存失效时间的,不然很容易出现内存占用大的问题。


源码截图


229c2acb85ca6b6dd5289046368c8f2.png


expireAt(K key, Date date)


功能描述:设置Redis相应key值的失效时间,date参数表示要传入的时间,并且指定在这个时间点上key将失效。

具体代码使用

/**
 * 指定缓存失效时间
 *
 * @param key  键
 * @param date 具体时间
 * @return
 */
public Boolean expireAt(String key, Date date) {
    return redisTemplate.expireAt(key, date);
}

使用场景:expireAt方法的使用场景大家可以自行思考一下,其实也是很常见的。

源码截图


fc13f317ad87120477f9a1b1a3285e3.png


小结


今天我们学习了RedisTemplate中的delete、expireAt、expire三个方法,你是否有所收获呢?

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
3天前
|
NoSQL 定位技术 Redis
RedisTemplate.opsForGeo()用法简介并举例
RedisTemplate.opsForGeo()用法简介并举例
11 3
|
3天前
|
NoSQL Redis
RedisTemplate.opsForZSet()用法简介并举例
RedisTemplate.opsForZSet()用法简介并举例
11 3
|
3天前
|
NoSQL Redis
RedisTemplate.opsForStream()用法简介并举例
RedisTemplate.opsForStream()用法简介并举例
9 2
|
3天前
|
NoSQL Redis
RedisTemplate.opsForSet()用法简介并举例
RedisTemplate.opsForSet()用法简介并举例
9 2
|
3天前
|
算法 NoSQL Redis
RedisTemplate.opsForHyperLogLog()用法简介并举例
RedisTemplate.opsForHyperLogLog()用法简介并举例
13 2
|
3天前
|
NoSQL Redis
RedisTemplate.opsForHash()用法简介并举例
RedisTemplate.opsForHash()用法简介并举例
8 1
|
3天前
|
NoSQL Redis
RedisTemplate.opsForValue()用法简介并举例
RedisTemplate.opsForValue()用法简介并举例
11 1
|
8月前
|
NoSQL Redis
【Redis】自定义RedisTemplate模板,拿来直接使用
【Redis】自定义RedisTemplate模板,拿来直接使用
49 0
|
NoSQL 数据处理 Redis
细说一下RedisTemplate的使用方法(十二)
上篇文章中学习了操作Redis中Set数据类型的两个主要方法,分别是opsForSet方法和boundHashOps方法,这两个方法也是目前最为常用的操作Set数据类型的方法了。今天我们就要来看下一个Redis数据类型的操作方法了,也是这个系列的最后一篇文章了。
284 0
还在用 RedisTemplate?试试 Redis 官方 ORM 框架吧,用起来够优雅
之前在SpringBoot项目中,我一直使用RedisTemplate来操作Redis中的数据,这也是Spring官方支持的方式。对比Spring Data对MongoDB和ES的支持,这种使用Template的方式确实不够优雅!最近发现Redis官方新推出了Redis的专属ORM框架RedisOM,用起来够优雅,推荐给大家! RedisOM简介 RedisOM是Redis官方推出的ORM框架,是对Spring Data Redis的扩展。由于Redis目前已经支持原生JSON对象的存储,之前使用RedisTemplate直接用字符串来存储JOSN对象的方式明显不够优雅。通过RedisOM我