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


theme: vue-pro

这是我参与11月更文挑战的第8天,活动详情查看:2021最后一次更文挑战

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

昨天我们开始学习RedisTemplate中操作众多的特定数据类型的一些方法,上一篇文章更是将操作String数据类型,其中的boundValueOpsopsForValue等两个方法,大家还有些印象吗?

今天我们要来看一下这两个方法返回的对象都有着哪些操作Redis的方法,一起来看看吧。

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

boundValueOps和opsForValue两个方法涉及到的方法大致是相同的,所以就不再分两个模块来写了。

整体上我们还是主要来看opsForValue方法中的一些功能。

set(K var1, V var2)

功能描述:添加相应的键值对,指定相应的key值和value值。这个方法太常见了,在boundValueOps方法中也是的相应的set方法的,大家可以自行去尝试一番。

示例代码

java /** * 普通缓存放入 * * @param key 键 * @param value 值 * @return true成功 false失败 */ public boolean set(String key, Object value) { try { redisTemplate.opsForValue().set(key, value); return true; } catch (Exception e) { e.printStackTrace(); return false; } }

常用程度:※※※※※(太常用了,妥妥的一个必备知识点)

源码截图

image.png


set(K var1, V var2, long var3, TimeUnit var5)

功能描述:这个方法和上面的方法是一样的,只不过是指定了过期时间。

当然使用上面的方法之后再设置相关的过期时间也是可以的。


setIfAbsent(K var1, V var2)

功能描述:此方法的返回值是一个布尔类型的值,其功能也是添加相应的值,只不过在其中做了一个判断,那就是如果将要添加的key值已存在,则不再添加,直接返回fasle;如果不存在,则正常添加,返回true。

常用程度:※※※


setIfAbsent(K var1, V var2, long var3, TimeUnit var5)

功能描述:此方法与上面的方法一致,加入了过期时间的设置。


setIfAbsent(K key, V value, Duration timeout)

功能描述:此方法在原来的基础上加入了过期日期的设置。


get(Object var1)

功能描述:获取相应的数据值,通过传入参数,一般都是传入字符串的key值。也是必备的一个知识点。在boundValueOps方法中也是有着这个功能的。

示例代码

java /** * 普通缓存获取 * * @param key 键 * @return 值 */ public Object get(String key) { return key == null ? null : redisTemplate.opsForValue().get(key); }

常用程度:※※※※※


increment(K var1, long var2)

功能描述:此方法提供了可以将对应key的value值进行自增处理,通过传入的参数决定增加多少。

示例代码

/** * 递增 * * @param key 键 * @param delta 要增加几(大于0) */ public long incr(String key, long delta) { if (delta < 0) { throw new RuntimeException("递增因子必须大于0"); } return redisTemplate.opsForValue().increment(key, delta); }

常用程度:※※※※

小结

我们今天学习了opsForValue返回的类中可以操作Redis的一系列方法,大家是否知道还有什么比较常用的方法呢?

posted @   Ijiran  阅读(485)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示