使用Jedis操作Redis-使用Java语言在客户端操作---String类型
前提:需要引入Jedis的jar包。
/**
* 我的redis在Linux虚拟机Centos7中,192.168.222.129是我虚拟机的ip地址。
*/
private static Jedis jedis = new Jedis("192.168.222.129");
//测试String类型
@Test
public void testString(){
//设定该Key持有指定的字符串Value,如果该Key已经存在,则覆盖其原有值。返回值总是返回"OK"
String returnset = jedis.set("mykey", "hello");
//根据键获取值
String mykeyValue = jedis.get("mykey"); //追加 如果key存在,则在原来的key的value后面追加;否则效果相当于set
Long result = jedis.append("mykey7", "我是后面追加的7"); //判断该键是否存在,存在返回true,否则返回false。
Boolean result5 = jedis.exists("mykey"); //取指定Key的字符长度,等效于C库中strlen函数。
Long result6 = jedis.strlen("mykey"); //=================================
//设置Key的值为20
jedis.set("mykey2", "20");
//该Key的值递增1
Long result1 = jedis.incr("mykey2"); //该key的值递减1
Long result2 = jedis.decr("mykey2"); //删除已有键,删除成功返回1,该键不存在的话就返回0.
Long result3 = jedis.del("mykey"); //从第六个开始替换2个字符(dd只有2个字符),从0开始计数,如果长度不够,就用空格空字符替代
jedis.setrange("mykey", 6, "dd");//"hello dd" //截取该键的Value,从第一个字符开始,到第二个字符结束。它是从0开始计数的
String returngetRange = jedis.getrange("mykey", 1, 2);//el
//20已经超过Value的总长度,因此将截取第一个字节后面的所有字节。
String returngetRange2 = jedis.getrange("mykey", 1, 20);//ello //批量设置了key1和key2两个键。返回值表示是否执行成功,执行成功返回1.
Long returnmsetnxValue = jedis.msetnx("key1","key1Value","key2","key2Value"); //批量获取了key1和key2两个键的值。
List<String> mget = jedis.mget("key1","key2");
for(String value:mget){
System.out.print(value+" ");
}
//打印结果为:key1Value key2Value //批量设置了key3和key5两个键,但是key3已经存在,所以该命令执行失败并返回0。
Long returnmsetnxValue1 = jedis.msetnx("key2","key2Value","key3","key3Value"); //批量获取key2和key3,由于key3没有设置成功,所以返回nil。
List<String> mget1 = jedis.mget("key2","key3");
for(String value:mget1){
System.out.print(value+" ");
}
//打印结果依次为 key2Value null,因为key3没有设置成功,所以取出来的值为null //该命令原子性的完成参数中所有key/value的设置操作,其具体行为可以看成是多次迭代执行SET命令。 该命令不会失败,始终返回OK。
String mset = jedis.mset("key2","key2newValue","key3","key3Value"); //设置从0开始计算的第七位BIT值为1,返回原有BIT值0.这里用1代表true,用0代表false。
//Boolean setbit = jedis.setbit("mybitkey", 7, true);
String result4 = mykeyValue; //返回了指定Offset的BIT值。以true代表1,false代表0
Boolean getbitsixresult = jedis.getbit("mybitkey", 7); jedis.close();
}
使用Jedis操作Redis-使用Java语言在客户端操作---String类型的更多相关文章
- 使用Jedis操作Redis-使用Java语言在客户端操作---对key的操作
//添加String类型的模拟数据. jedis.set("mykey", "2"); jedis.set("mykey2", " ...
- 使用Jedis操作Redis-使用Java语言在客户端操作---set类型
原文地址:http://www.cnblogs.com/lixianyuan-org/p/9509696.html 1 //测试set数据类型 2 /** 3 * 在Redis中,我们可以将Set类型 ...
- 使用Jedis操作Redis-使用Java语言在客户端操作---对Sorted-Sets的操作
//对Sorted-Sets操作 /** * Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中. * 它们之间的主要差别是Sorted-Sets ...
- 使用Jedis操作Redis-使用Java语言在客户端操作---hash类型
我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器. 所以该类型非常适合于存储值对象的信息.如Username.P ...
- 使用Jedis操作Redis-使用Java语言在客户端操作---List类型
在Redis中,List类型是按照插入顺序排序的字符串链表.和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素.在插入时,如果该键并不存在,Redis将为该键创建 ...
- java web 获取客户端操作系统信息
package com.java.basic.pattern; import java.util.regex.Matcher; import java.util.regex.Pattern; /** ...
- Redis系列(四):数据结构String类型中基本操作命令和源码解析
1.介绍 string类型本质上是char[]数组的封装 中文网:http://www.redis.cn/commands.html#string 2.常用命令 set 命令 set命令的时间复杂 ...
- 使用Java(Jedis)链接redis报java.net.ConnectException: Connection refused: connect的错误
redis环境:centos6 java代码运行环境:windows 第一种情况:未开启redis服务. redis-server /myredis/redis.conf (写你的redis配置文件的 ...
- 基于Java语言的IO操作(文件复制)
public static void main(String[] args) { //获取复制开始前系统时间毫秒值 long start=System.currentTimeMillis(); //文 ...
随机推荐
- 关于安装了sqlite对于vs的组件,重启vs后,在外面可以连接sqlite数据库,但是在建立实体模型时没有sqlite数据源的问题
出自:http://bbs.csdn.net/topics/390917337 兄弟,刚刚在stackoverflow上找到了解决方法了http://stackoverflow.com/questio ...
- 位运算 - 左移右移运算符 >>, <<, >>>
1-左移运算符m<<n,表示把m左移n位.左移n位的时候,最左边的n位数将被丢弃,同时在最右边补上n个0.例如: 00001010<<2 = 00101000 10001010 ...
- 0829NOIP模拟测试赛后总结
这次发誓不会咕咕咕! 80分rank30完美爆炸. 拿到题目苏轼三连???貌似三篇古诗文我都会背啊hhh.爆零警告 T1没啥思路,打完暴力后想了大约20分钟决定分解个因数,在b次方中每一次方选择一个约 ...
- duilib教程之duilib入门简明教程5.自绘标题栏
如果大家有做过标题栏的自绘,肯定会感慨各种不容易,并且现有的一些资料虽然完美的实现了功能,但是代码比较乱,需要自行整理.如果用duilib,就是小case啦. duilib其实并没有区分标题栏和 ...
- (转)第01节:初识简单而且强大的Fabric.js库
Fabric.js是一个功能强大和简单Javascript HTML5的canvas库.Fabric提供了很多可以互动的Canvas元素,还在canvas上提供了SVG的语法分析器. 你可以轻松的使用 ...
- 如何提高Axure设计的效率 提高Axure设计效率的10条建议
如何更有效率的使用axure,这是新手需要掌握的技能.本文作者从实际经验中归纳出来的十条建议十分值得学习,转载分享给大家: Axure 是创建软件原型的快速有力的工具.上手很容易,但是,其中存在一个危 ...
- linux 详解
一.日常使用命令/常用快捷键命令开关机命令 1.shutdown –h now:立刻进行关机 2.shutdown –r now:现在重新启动计算机 3.reboot:现在重新启动计算机 ...
- LinkedList集合 实现栈和队列
LinkedList集合的底层是链表结构实现的,所以可以模拟栈(先进后出)和队列(先进先出). 方法: addFirst() //添加元素到列表的起始位置 addLast() //添加元素到列表的结束 ...
- Js中获取时间 new date()的用法
Js中获取时间 new date()的用法 获取时间: var myDate = new Date();//获取系统当前时间 myDate.getYear(); //获取当前年份(2位) myDate ...
- BaseController 的使用
为了提现代码的高可用性,我们可以常见的把dao层进行抽取,service ,但是很少看见有controller的抽取,其实dao层也是可以被抽取的. 首先我们定义一个BaseController接口 ...