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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 我们学习了RedisTemplate中操作众多的特定数据类型的一些方法,今天我们要来看一下boundValueOps和opsForValue两个方法返回的对象都有着哪些操作Redis的方法。

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


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


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


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


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

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


set(K var1, V var2)


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

示例代码

/**
 * 普通缓存放入
 *
 * @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;
    }
}


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


源码截图


f27151caff85f6d744e910aac842980.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方法中也是有着这个功能的。

示例代码

/**
 * 普通缓存获取
 *
 * @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的一系列方法,大家是否知道还有什么比较常用的方法呢?

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
5月前
|
NoSQL 定位技术 Redis
RedisTemplate.opsForGeo()用法简介并举例
RedisTemplate.opsForGeo()用法简介并举例
282 3
|
5月前
|
NoSQL Redis
RedisTemplate.opsForZSet()用法简介并举例
RedisTemplate.opsForZSet()用法简介并举例
765 3
|
5月前
|
NoSQL Redis
RedisTemplate.opsForStream()用法简介并举例
RedisTemplate.opsForStream()用法简介并举例
337 2
|
5月前
|
NoSQL Redis 索引
RedisTemplate.opsForList()用法简介并举例
RedisTemplate.opsForList()用法简介并举例
1404 2
|
5月前
|
算法 NoSQL Redis
RedisTemplate.opsForHyperLogLog()用法简介并举例
RedisTemplate.opsForHyperLogLog()用法简介并举例
116 2
|
5月前
|
NoSQL Redis
RedisTemplate.opsForSet()用法简介并举例
RedisTemplate.opsForSet()用法简介并举例
464 2
|
5月前
|
NoSQL Redis
RedisTemplate.opsForValue()用法简介并举例
RedisTemplate.opsForValue()用法简介并举例
517 1
|
5月前
|
NoSQL Redis
RedisTemplate.opsForHash()用法简介并举例
RedisTemplate.opsForHash()用法简介并举例
598 1
|
缓存 NoSQL Redis
细说一下RedisTemplate的使用方法(七)
上篇文章我们学习了三个方法,分别是getExpire(K key)、getExpire(K key, TimeUnit timeUnit)、move三个方法,今天我们学习了RedisTemplate中的delete、expireAt、expire三个方法。
1063 0
细说一下RedisTemplate的使用方法(七)
|
NoSQL 数据处理 Redis
细说一下RedisTemplate的使用方法(十二)
上篇文章中学习了操作Redis中Set数据类型的两个主要方法,分别是opsForSet方法和boundHashOps方法,这两个方法也是目前最为常用的操作Set数据类型的方法了。今天我们就要来看下一个Redis数据类型的操作方法了,也是这个系列的最后一篇文章了。
361 0