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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 上篇文章我们学习了三个方法,分别是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
目录
打赏
0
0
0
0
74
分享
相关文章
细说一下RedisTemplate的使用方法(六)
今天我们学习RedisTemplate中的getExpire(K key)、getExpire(K key, TimeUnit timeUnit)、move三个方法。
1038 0
细说一下RedisTemplate的使用方法(六)
DTO和VO的区别及使用场景详解
DTO和VO的区别及使用场景详解
5083 0
redis中的分布式锁(setIfAbsent)(expire)
redis中的分布式锁(setIfAbsent)(expire)
RedisTemplate常用方法总结
RedisTemplate常用方法总结
474 1
使用 rocketmq-spring-boot-starter 来配置、发送和消费 RocketMQ 消息
本文将 rocktmq-spring-boot 的设计实现做一个简单的介绍,读者可以通过本文了解将 RocketMQ Client 端集成为 spring-boot-starter 框架的开发细节,然后通过一个简单的示例来一步一步的讲解如何使用这个 spring-boot-starter 工具包来配置,发送和消费 RocketMQ 消息。
使用 rocketmq-spring-boot-starter 来配置、发送和消费 RocketMQ 消息
Springboot接口同时支持GET和POST请求
Springboot接口同时支持GET和POST请求
903 0
Spring Boot 2.X(六):Spring Boot 集成 Redis
Redis 简介 什么是 Redis Redis 是目前使用的非常广泛的免费开源内存数据库,是一个高性能的 key-value 数据库。 Redis 与其他 key-value 缓存(如 Memcached )相比有以下三个特点: 1.Redis 支持数据的持久化,它可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
9375 0
Spring Boot之Spring-devtools热部署:实现快速开发与调试
本篇详细介绍了Spring Boot中的Spring DevTools热部署功能,让开发人员能够在不重启应用的情况下实时查看和验证代码更改。文章涵盖了Spring DevTools的作用、集成步骤、示例演示以及在生产环境中的注意事项。通过该功能,开发人员可以快速迭代和调试应用,提高开发效率。
3914 0
Spring Boot之Spring-devtools热部署:实现快速开发与调试
SpringBoot整合阿里云短信
SpringBoot整合阿里云短信
1704 0
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。

热门文章

最新文章