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

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


昨天我们开始学习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;
    }
}


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


源码截图


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


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的一系列方法,大家是否知道还有什么比较常用的方法呢?

上一篇:【Android 逆向】Android 进程注入工具开发 ( 总结 | 源码编译 | 逆向环境搭建使用 | 使用进程注入工具进行逆向操作 ) ★★★(一)


下一篇:(五)Nacos开发教程之SpringCloud集成配置管理