RedisTemplate常用集合使用说明-opsForValue(二)

​ 基础配置介绍已经在前面的《RedisTemplate常用集合使用说明(一)》中已经介绍了,现在我们直接介绍opsForValue()方法的使用:

1、set(K key, V value)

​ 新增一个字符串类型的值,key是键,value是值。

redisTemplate.opsForValue().set("stringValue","bbb");

2、get(Object key)

获取key键对应的值。

String stringValue = redisTemplate.opsForValue().get("stringValue")+"";
System.out.println("通过get(Object key)方法获取set(K key, V value)方法新增的字符串值:" + stringValue);

3、append(K key, String value)

在原有的值基础上新增字符串到末尾。

redisTemplate.opsForValue().append("stringValue","aaa");
String stringValueAppend = redisTemplate.opsForValue().get("stringValue")+"";
System.out.println("通过append(K key, String value)方法修改后的字符串:"+stringValueAppend);

4、get(K key, long start, long end)

截取key键对应值得字符串,从开始下标位置开始到结束下标的位置(包含结束下标)的字符串。

String cutString = redisTemplate.opsForValue().get("stringValue",0,3);
System.out.println("通过get(K key, long start, long end)方法获取截取的字符串:"+cutString);

5、getAndSet(K key, V value)

获取原来key键对应的值并重新赋新值。

String oldAndNewStringValue = redisTemplate.opsForValue().getAndSet("stringValue","ccc")+"";
System.out.print("通过getAndSet(K key, V value)方法获取原来的" + oldAndNewStringValue + ",");
String newStringValue = redisTemplate.opsForValue().get("stringValue")+"";
System.out.println("修改过后的值:"+newStringValue);

6、setBit(K key, long offset, boolean value)

key键对应的值value对应的ascii码,在offset的位置(从左向右数)变为value。

redisTemplate.opsForValue().setBit("stringValue",1,false);
newStringValue = redisTemplate.opsForValue().get("stringValue")+"";
System.out.println("通过setBit(K key,long offset,boolean value)方法修改过后的值:"+newStringValue);

7、getBit(K key, long offset)

判断指定的位置ASCII码的bit位是否为1。

boolean bitBoolean = redisTemplate.opsForValue().getBit("stringValue",1);
System.out.println("通过getBit(K key,long offset)方法判断指定bit位的值是:" + bitBoolean);

8、size(K key)

获取指定字符串的长度。

Long stringValueLength = redisTemplate.opsForValue().size("stringValue");
System.out.println("通过size(K key)方法获取字符串的长度:"+stringValueLength);

9、increment(K key, double delta)

以增量的方式将double值存储在变量中。

double stringValueDouble = redisTemplate.opsForValue().increment("doubleValue",5); 
System.out.println("通过increment(K key, double delta)方法以增量方式存储double值:" + stringValueDouble);

10、increment(K key, long delta)

以增量的方式将long值存储在变量中。

double stringValueLong = redisTemplate.opsForValue().increment("longValue",6); 
System.out.println("通过increment(K key, long delta)方法以增量方式存储long值:" + stringValueLong);

11、setIfAbsent(K key, V value)

如果键不存在则新增,存在则不改变已经有的值。

boolean absentBoolean = redisTemplate.opsForValue().setIfAbsent("absentValue","fff");
System.out.println("通过setIfAbsent(K key, V value)方法判断变量值absentValue是否存在:" + absentBoolean);
if(absentBoolean){String absentValue = redisTemplate.opsForValue().get("absentValue")+"";System.out.print(",不存在,则新增后的值是:"+absentValue);boolean existBoolean = redisTemplate.opsForValue().setIfAbsent("absentValue","eee");System.out.print(",再次调用setIfAbsent(K key, V value)判断absentValue是否存在并重新赋值:" + existBoolean);if(!existBoolean){absentValue = redisTemplate.opsForValue().get("absentValue")+"";System.out.print("如果存在,则重新赋值后的absentValue变量的值是:" + absentValue);}
}

12、set(K key, V value, long timeout, TimeUnit unit)

​ 设置变量值的过期时间。

redisTemplate.opsForValue().set("timeOutValue","timeOut",5,TimeUnit.SECONDS);
String timeOutValue = redisTemplate.opsForValue().get("timeOutValue")+"";
System.out.println("通过set(K key, V value, long timeout, TimeUnit unit)方法设置过期时间,过期之前获取的数据:"+timeOutValue);
Thread.sleep(5*1000);
timeOutValue = redisTemplate.opsForValue().get("timeOutValue")+"";
System.out.print(",等待10s过后,获取的值:"+timeOutValue);

13、set(K key, V value, long offset)

覆盖从指定位置开始的值。

redisTemplate.opsForValue().set("absentValue","dd",1);
String overrideString = redisTemplate.opsForValue().get("absentValue")+"";
System.out.println("通过set(K key, V value, long offset)方法覆盖部分的值:"+overrideString);

14、multiSet(Map<? extends K,? extends V> map)

设置map集合到redis。

Map valueMap = new HashMap();
valueMap.put("valueMap1","map1");
valueMap.put("valueMap2","map2");
valueMap.put("valueMap3","map3");
redisTemplate.opsForValue().multiSet(valueMap);

15、multiGet(Collection keys)

根据集合取出对应的value值。

//根据List集合取出对应的value值
List paraList = new ArrayList();
paraList.add("valueMap1");
paraList.add("valueMap2");
paraList.add("valueMap3");
List<String> valueList = redisTemplate.opsForValue().multiGet(paraList);
for (String value : valueList){System.out.println("通过multiGet(Collection<K> keys)方法获取map值:" + value);
}

16、multiSetIfAbsent(Map<? extends K,? extends V> map)

如果对应的map集合名称不存在,则添加,如果存在则不做修改。

Map valueMap = new HashMap();
valueMap.put("valueMap1","map1");
valueMap.put("valueMap2","map2");
valueMap.put("valueMap3","map3");
redisTemplate.opsForValue().multiSetIfAbsent(valueMap);

在这里就介绍完了opsForValue()方法的使用,具体代码将在最后的一篇文章里给出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555648.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ur机械臂 控制器_OnRobot末端执行器和统一接口已通过UR +计划认证

近日&#xff0c;OnRobot 宣布其One System Solution末端执行器和统一接口现已通过UR 计划认证&#xff0c;UR 计划对夹具等配件进行测试和认证&#xff0c;以便与Universal Robots A / S协作机器人手臂无缝配合使用。OnRobot在9月份发布了全系列的机械手和传感器&#xff0c;具…

xp系统打印机服务器设置,WinXP打印机纸张规格设置的方法

电脑的打印机是我们常常会使用的外部输出设备&#xff0c;虽说经常在用&#xff0c;但是关于它的很多问题还是不会&#xff0c;比如说怎么对打印机纸张规格设置&#xff0c;那么当你遇到这个问题不会的话&#xff0c;那就赶紧看看小编整理的WinXP打印机纸张规格设置的方法吧&am…

RedisTemplate常用集合使用说明-opsForList(三)

​ 基础配置介绍已经在前面的《RedisTemplate常用集合使用说明(一)》中已经介绍了&#xff0c;现在我们直接介绍opsForList()方法的使用&#xff1a; 1、leftPush(K key, V value) 在变量左边添加元素值。 redisTemplate.opsForList().leftPush("list","a&qu…

stm32的语音识别_基于stm32循迹避障语音控制金属探测蓝牙小车设计(原理图+pcb+源码+参考文档)...

功能描述及设计原理&#xff1a;小车具有检测里程功能&#xff0c;在金属探测模式&#xff0c;槽型光耦会检测小车车轮的圈数&#xff0c;以此来计算小车行走的里程&#xff0c;并可以通过OLED屏幕显示出来。还可以显示小车的工作模式以及小车距离前方障碍物的距离。》默认模式…

虚拟磁盘没有可用的合格服务器,VMware提示:没有更多空间可供虚拟磁盘***.vmdk使用 所引发的故障及处理...

Python - - - Pandas基本使用import pandas as pdimport numpy as npdef pandasWork1(): # DataFrame 初始化&#xff0c;与数据的获取one np.array([name0, name1, name2, name3, name4, name5])two list([[...Browser-sync安装与使用browser-sync启动命令Browsersync能让浏…

RedisTemplate常用集合使用说明-opsForHash(四)

基础配置介绍已经在前面的《RedisTemplate常用集合使用说明(一)》中已经介绍了&#xff0c;现在我们直接介绍opsForHash()方法的使用&#xff1a; 1、put(H key, HK hashKey, HV value) 新增hashMap值。 redisTemplate.opsForHash().put("hashValue","map1&q…

发明喂饭机器人_人类又懒出新高度,老美发明自动喂饭机器人,“君子”动嘴不动手...

近年来&#xff0c;各式各样的智能机器人层出不穷&#xff0c;多数都是为了方便人们的日常生活。近日&#xff0c;美国一机器人公司&#xff0c;为残障人士和重症疾病患者设计了一款智能喂饭机器人&#xff1a;Obi。这款机器人拥有全白的外观&#xff0c;它的机械臂可以将饭菜直…

RedisTemplate常用集合使用说明-opsForSet(五)

基础配置介绍已经在前面的《RedisTemplate常用集合使用说明(一)》中已经介绍了&#xff0c;现在我们直接介绍opsForSet()方法的使用&#xff1a; 1、add(K key, V… values) 向变量中批量添加值。 redisTemplate.opsForSet().add("setValue","A","…

中provide的用法_Vue中那些你不知道的作用域

作用域控制可以使用哪些变量以及在何处使用。它控制它们对应用程序的不同部分的“可见性”。了解 Vue 提供的作用域级别之间的差异会帮助我们编写更清晰的代码。下面是 vue 中4个级别的作用域&#xff1a;全局作用域子树作用域组件作用域实例作用域全局作用域Vue 应用程序中的全…

RedisTemplate常用集合使用说明-opsForZSet(六)

基础配置介绍已经在前面的《RedisTemplate常用集合使用说明(一)]》中已经介绍了&#xff0c;现在我们直接介绍opsForZSet()方法的使用&#xff1a; 1、add(K key, V value, double score) 添加元素到变量中同时指定元素的分值。 redisTemplate.opsForZSet().add("zSetV…

树叶贴画机器人_洪山广场举办“落叶节”,树叶树枝拼贴出冬日风景

楚天都市报11月30日讯(记者卢成汉 通讯员谢助全 彭雪琴)秋天飘落的树叶树枝&#xff0c;经过拼贴&#xff0c;变成了有趣的图案。29日&#xff0c;洪山广场举行的“落叶节”上&#xff0c;小学生们的树叶作品&#xff0c;拼贴成冬日的风景。当天&#xff0c;小学生们将在洪山广…

Java volatile关键字最全总结:原理剖析与实例讲解(简单易懂)

文章目录一、简介二、并发编程的3个基本概念1.原子性2.可见性3.有序性三、锁的互斥和可见性四、Java的内存模型JMM以及共享变量的可见性五、volatile变量的特性1.保证可见性&#xff0c;不保证原子性2.禁止指令重排六、volatile不适用的场景1.volatile不适合复合操作2.解决方法…

云服务器如何链接本地打印机_利用FileZilla搭建云服务器FTP服务端和本地客户端...

腾讯云服务器&#xff08;服务端&#xff09;本地计算机&#xff08;客户端&#xff09;1.首先在腾讯云上下载好FileZilla的对应服务端版本这里附上中文下载地址下载 - FileZilla中文网​www.filezilla.cn2.下载安装完成后打开默认下一步就好3.然后点击这个小头像进行账户设置首…

多线程之CAS与synchronized的比较

业务场景&#xff1a;需要实现一个支持并发的计数功能 1、计数功能的基本实现是&#xff1a; public class Increment{private int count 0;public void add(){ count; }}2、以上实现在并发环境下是不安全的&#xff0c;故修改方案1是加锁synchronized&#xff1a; publi…

6 日期字符串转日期_山西省导游协会关于发放电子导游证的通知 (生成日期为2020年5月28日2020年6月3日)...

各位会员、导游同仁们&#xff1a;山西省导游协会电子导游证(生成日期为&#xff1a;2020年5月28日-2020年6月3日)已制作完成&#xff0c;为保障电子导游证发放工作顺利进行&#xff0c;现将发放电子导游证有关事项通知如下&#xff1a;一、领取人员手机&#xff21;&#xff3…

CAS和Synchronized知识

一. CAS 何为CAS。 CAS&#xff08;Compare And Swap &#xff09;是乐观锁的一种实现方式&#xff0c;是一种轻量级锁。JAVA1.5开始引入了CAS&#xff0c;JUC下很多工具类都是基于CAS。 CAS的实现方式 CAS有3个操作数&#xff0c;内存值V&#xff0c;旧的预期值A&#xff0…

自动设置图片的序号_编写学位论文时如何给表格和图片自动编号

引言最近和论文格式的检测系统斗智斗勇&#xff0c;可以说是摸清了系统的脾气并且能够把错误数控制在0。其中&#xff0c;论文正文的表格和图片自动编号的问题还是挺有意思的&#xff0c;特此记录一下。需求对于表格&#xff0c;系统要求表格题注处于表格*上方*&#xff0c;并按…

使用CAS代替synchronized

在开发当中需要经常用到synchronized保证代码线程安全&#xff0c;在竞争条件下会阻塞等待资源&#xff0c;如果允许竞争不到资源返回失败&#xff0c;就可以使用cas减少阻塞时间。先来看一个cas的单例模式。 public class NonBlock {private static volatile NonBlock nonBlo…

uniapp 获取图片的高度_uni-app获取元素高度等信息,并设置元素top信息

本文主要简介uni-app获取元素信息及设置信息等获取元素高度可查看官方文档mounted() {const query uni.createSelectorQuery().in(this);query.select(#editor).boundingClientRect(data > {console.log(data)}).exec();},这里的data用于获取这个元素大小及位置信息&#x…

关于java中线程yield()方法问题

关于java中线程yield()方法问题 问题一&#xff1a; 我知道yield是用来休眠当前线程&#xff0c;但我查看了资料&#xff0c;又说其不会释放锁&#xff0c;所以我就不解了&#xff0c;其明明会将cpu资源给其他线程&#xff0c;那它不释放锁&#xff0c;其他线程有怎么获取cpu资…