//添加String类型的模拟数据。
jedis.set("mykey", "2");
jedis.set("mykey2", "hello");
//添加Set类型的模拟数据。
jedis.sadd("mysetkey", "1","2","3");
//添加Hash类型的模拟数据。
jedis.hset("mmtest", "username", "stephen"); //根据参数中的模式,获取当前数据库中符合该模式的所有key,从输出可以看出,该命令在执行时并不区分与Key关联的Value类型。
Set<String> keys = jedis.keys("my*");
System.out.println("keys= "+keys);//keys= [mysetkey, mykey2, mykey] //删除了两个keys
Long del = jedis.del("mykey","mykey2");
System.out.println("del: "+del);//del: 2 //查看一下刚刚删除的Key是否还存在,从返回结果看,mykey确实已经删除了。
Boolean exists = jedis.exists("mykey");
System.out.println(exists);//false //查看一下没有删除的Key,以和上面的命令结果进行比较。
Boolean exists2 = jedis.exists("mysetkey");
System.out.println("exists2: "+exists2);//exists2: true //将当前数据库中的mysetkey键移入到ID为1的数据库中,从结果可以看出已经移动成功。
Long move = jedis.move("mysetkey", 1);
System.out.println("move: "+move);//move: 1 //打开ID为1的数据库。
String select = jedis.select(1);
System.out.println("select: "+select);//select: OK //查看一下刚刚移动过来的Key是否存在,从返回结果看已经存在了。
System.out.println(jedis.exists("mysetkey"));//true //再重新打开ID为0的缺省数据库。
String select2 = jedis.select(0); //查看一下刚刚移走的Key是否已经不存在,从返回结果看已经移走。
System.out.println(jedis.exists("mysetkey"));//false //==============》》》》》》》》》》》》》》》》 //清空当前选择的数据库
jedis.flushAll();
jedis.set("mykey", "hello");
//将mykey改名为mykey1
String rename = jedis.rename("mykey", "mykey1");
System.out.println("rename: "+rename);//rename: OK //由于mykey已经被重新命名,再次获取将返回null
System.out.println(jedis.get("mykey"));//null //通过新的键名获取
System.out.println(jedis.get("mykey1"));//hello //由于mykey已经不存在了,所以返回错误信息。
String rename2 = jedis.rename("mykey", "mykey1");
System.out.println("rename2: "+rename2);
//redis.clients.jedis.exceptions.JedisDataException: ERR no such key jedis.set("oldkey", "hello");
jedis.set("newkey", "world"); //由于newkey已经存在,因此该命令未能成功执行
Long renamenx = jedis.renamenx("oldkey", "newkey");
System.out.println("renamenx: "+renamenx);//renamenx: 0 //查看newkey的值,发现它也没有被renamenx覆盖。
System.out.println(jedis.get("newkey"));//world //=================>>>>>>>>
//清空当前选择的数据库
jedis.flushAll(); jedis.set("mykey", "hello"); //将该键的超时设置为100秒。
Long expire = jedis.expire("mykey", 100);
System.out.println("expire: "+expire);//expire: 1 //通过ttl命令查看一下还剩下多少秒。
Long ttl = jedis.ttl("mykey");
System.out.println("ttl: "+ttl);//ttl: 98 //立刻执行persist命令,该存在超时的键变成持久化的键,即将该Key的超时去掉。
Long persist = jedis.persist("mykey");
System.out.println("persist: "+persist);//persist: 1 //ttl的返回值告诉我们,该键已经没有超时了。
System.out.println(jedis.ttl("mykey"));//-1 //为后面的expire命令准备数据。
jedis.del("mykey"); jedis.set("mykey", "hello"); //设置该键的超时为100秒。
jedis.expire("mykey", 100); //用ttl命令看一下当前还剩下多少秒,从结果中可以看出还剩下96秒。
System.out.println(jedis.ttl("mykey"));//96 //重新更新该键的超时时间为20秒,从返回值可以看出该命令执行成功。
System.out.println(jedis.expire("mykey", 20));//1 //再用ttl确认一下,从结果中可以看出果然被更新了。
System.out.println(jedis.ttl("mykey"));//18 //立刻更新该键的值,以使其超时无效。
System.out.println(jedis.set("mykey", "world"));//ok //#从ttl的结果可以看出,在上一条修改该键的命令执行后,该键的超时也无效了。
System.out.println(jedis.ttl("mykey"));//-1 //================>>>>>>>>>>>>>>>>> //查看键的数据类型
//由于mm键在数据库中不存在,因此该命令返回none
String type = jedis.type("mm");
System.out.println(type);//none String type2 = jedis.type("mykey");
System.out.println("type2= "+type2);//type2= string //准备一个值是set类型的键
jedis.sadd("mysetkey", "1","2"); //mysetkey的键是set,因此返回字符串set。
String type3 = jedis.type("mysetkey");
System.out.println("type3= "+type3);//type3= set //返回数据库中的任意键。
String randomKey = jedis.randomKey();
System.out.println("randomkey= "+randomKey);//randomkey= mykey 这个值是随机的 //清空当前打开的数据库。
jedis.flushAll(); //由于没有数据了,因此返回null
System.out.println(jedis.randomKey());//null

使用Jedis操作Redis-使用Java语言在客户端操作---对key的操作的更多相关文章

  1. 使用Jedis操作Redis-使用Java语言在客户端操作---hash类型

        我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.            所以该类型非常适合于存储值对象的信息.如Username.P ...

  2. 使用Jedis操作Redis-使用Java语言在客户端操作---set类型

    原文地址:http://www.cnblogs.com/lixianyuan-org/p/9509696.html 1 //测试set数据类型 2 /** 3 * 在Redis中,我们可以将Set类型 ...

  3. 使用Jedis操作Redis-使用Java语言在客户端操作---对Sorted-Sets的操作

    //对Sorted-Sets操作 /** * Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中. * 它们之间的主要差别是Sorted-Sets ...

  4. 使用Jedis操作Redis-使用Java语言在客户端操作---List类型

    在Redis中,List类型是按照插入顺序排序的字符串链表.和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素.在插入时,如果该键并不存在,Redis将为该键创建 ...

  5. 使用Jedis操作Redis-使用Java语言在客户端操作---String类型

    前提:需要引入Jedis的jar包. /** * 我的redis在Linux虚拟机Centos7中,192.168.222.129是我虚拟机的ip地址. */ private static Jedis ...

  6. 使用Java(Jedis)链接redis报java.net.ConnectException: Connection refused: connect的错误

    redis环境:centos6 java代码运行环境:windows 第一种情况:未开启redis服务. redis-server /myredis/redis.conf (写你的redis配置文件的 ...

  7. 使用jedisPool管理jedis,使用jedis操作redis

    ps:jedis是redis在java中的客户端操作工具 package com.test; 2 3 import java.util.HashMap; 4 import java.util.Iter ...

  8. Jedis测试redis

    首先:Jedis是redis的java版本的客户端. public class JedisTest { //单机版测试Jedis,不使用连接池 @Test public void testJedis( ...

  9. Go语言操作Redis

    Go语言操作Redis Redis介绍 Redis是一个开源的内存数据库,Redis提供了多种不同类型的数据结构,很多业务场景下的问题都可以很自然地映射到这些数据结构上.除此之外,通过复制.持久化和客 ...

随机推荐

  1. Android开发 内存泄露检测框架LeakCanary

    前言 挖坑后续填坑 中文网站:https://www.liaohuqiu.net/cn/posts/leak-canary-read-me/ gitbub:https://github.com/squ ...

  2. Android开发 使用SparseArray代替HashMap[转载]

    源作者:Android小Y链接:https://www.jianshu.com/p/1828f14d7955来源:简书 前言 Android开发中,一个好的应用,除了要有吸引人的功能和交互之外,在性能 ...

  3. linux centos 恢复 还原 备份 Snapper 快照说明

    为什么要使用Snapper快照? 我们可以想像以下场景: 1. 场景一:系统发生意外宕机,工程师无法快速定位问题,业务受到中断,客户十分不满意. 2. 场景二:项目会议上,就是否升级某软件到最新版本, ...

  4. Java系列笔记(4) - JVM监控与调优【转】

    Java系列笔记(4) - JVM监控与调优[转]   目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例     光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在 ...

  5. [JZOJ5233] 【GDOI模拟8.5】概率博弈

    题目 题目大意 给你一棵树,这棵树上的所有叶子节点的权值是随机的排列. 两个人博弈,从根开始,轮流往下走. 先手希望权值最大,后手希望权值最小. 问期望的最终结果. 思考历程 这场比赛实在是太丧心病狂 ...

  6. JUC 一 CopyOnWriteArrayList 和 CopyOnWriteArraySet

    java.util.concurrent; 简介 CopyOnWriteArrayList是一个线程安全的ArrayList,通过内部的volatile数组和显式锁ReentrantLock来实现线程 ...

  7. Tensortflow安装

    1.  CMD里面 pip install --upgrade --ignore-installed tensorflow

  8. 高速网络下的http协议优化

    http协议是基于TCP协议,具备TCP协议的所有功能.但是与一般TCP的长连接不同的是http协议往往连接时间比较短,一个请求一个响应了事.但是总所周知,TCP协议除了具备可靠的传输以外,还有拥塞控 ...

  9. Python-网络编程之粘包、UDP

    目录 粘包问题 subprocess模块 struct模块 UDP协议编程 简易qq聊天室 粘包问题 什么是粘包问题呢? 在我们写 tcp socket编程的时候,tcp协议是一个流式的协议,服务端第 ...

  10. Spring MVC(十)--通过表单序列化传递参数

    通过表单序列化传递参数就是将表单数据转化成字符串传递到后台,序列化之后参数请求变成这种模式param1=value1&&param2=value2,下面用代码实现. 1.创建表单 &l ...