`

jedis操作redis-2

阅读更多
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import javax.sound.midi.Soundbank;
import java.util.*;

/**
* @author: flychao88
* Time: 2012.5.7 16:23:15
*/
public class RedisTest {
    JedisPool pool;
    Jedis jedis;
    @Before
    public void setUp() {
        pool = new JedisPool(new JedisPoolConfig(), "172.16.100.184");

        jedis = pool.getResource();
        jedis.auth("password");
    }

    /**
     * Redis存储初级的字符串
     * CRUD
     */
    @Test
    public void testBasicString(){
        //-----添加数据----------
        jedis.set("name","minxr");//向key-->name中放入了value-->minxr
        System.out.println(jedis.get("name"));//执行结果:minxr

        //-----修改数据-----------
        //1、在原来基础上修改
        jedis.append("name","jarorwar");   //很直观,类似map 将jarorwar append到已经有的value之后
        System.out.println(jedis.get("name"));//执行结果:minxrjarorwar

        //2、直接覆盖原来的数据
        jedis.set("name","闵晓荣");
        System.out.println(jedis.get("name"));//执行结果:闵晓荣

        //删除key对应的记录
        jedis.del("name");
        System.out.println(jedis.get("name"));//执行结果:null

        /**
         * mset相当于
         * jedis.set("name","minxr");
         * jedis.set("jarorwar","闵晓荣");
         */
        jedis.mset("name","minxr","jarorwar","闵晓荣");
        System.out.println(jedis.mget("name","jarorwar"));

    }

    /**
     * jedis操作Map
     */
    @Test
    public void testMap(){
        Map<String,String> user=new HashMap<String,String>();
        user.put("name","minxr");
        user.put("pwd","password");
        jedis.hmset("user",user);
        //取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List
        //第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数
        List<String> rsmap = jedis.hmget("user", "name");
        System.out.println(rsmap);

        //删除map中的某个键值
//        jedis.hdel("user","pwd");
        System.out.println(jedis.hmget("user", "pwd")); //因为删除了,所以返回的是null
        System.out.println(jedis.hlen("user")); //返回key为user的键中存放的值的个数1
        System.out.println(jedis.exists("user"));//是否存在key为user的记录 返回true
        System.out.println(jedis.hkeys("user"));//返回map对象中的所有key  [pwd, name]
        System.out.println(jedis.hvals("user"));//返回map对象中的所有value  [minxr, password]

        Iterator<String> iter=jedis.hkeys("user").iterator();
        while (iter.hasNext()){
            String key = iter.next();
            System.out.println(key+":"+jedis.hmget("user",key));
        }

    }

    /**
     * jedis操作List
     */
    @Test
    public void testList(){
        //开始前,先移除所有的内容
        jedis.del("java framework");
        System.out.println(jedis.lrange("java framework",0,-1));
       //先向key java framework中存放三条数据
       jedis.lpush("java framework","spring");
       jedis.lpush("java framework","struts");
       jedis.lpush("java framework","hibernate");
       //再取出所有数据jedis.lrange是按范围取出,
       // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有
       System.out.println(jedis.lrange("java framework",0,-1));
    }

    /**
     * jedis操作Set
     */
    @Test
    public void testSet(){
        //添加
        jedis.sadd("sname","minxr");
        jedis.sadd("sname","jarorwar");
        jedis.sadd("sname","闵晓荣");
        jedis.sadd("sanme","noname");
        //移除noname
        jedis.srem("sname","noname");
        System.out.println(jedis.smembers("sname"));//获取所有加入的value
        System.out.println(jedis.sismember("sname", "minxr"));//判断 minxr 是否是sname集合的元素
        System.out.println(jedis.srandmember("sname"));
        System.out.println(jedis.scard("sname"));//返回集合的元素个数
    }

    @Test
    public void test() throws InterruptedException {
        //keys中传入的可以用通配符
        System.out.println(jedis.keys("*")); //返回当前库中所有的key  [sose, sanme, name, jarorwar, foo, sname, java framework, user, braand]
        System.out.println(jedis.keys("*name"));//返回的sname   [sname, name]
        System.out.println(jedis.del("sanmdde"));//删除key为sanmdde的对象  删除成功返回1 删除失败(或者不存在)返回 0
        System.out.println(jedis.ttl("sname"));//返回给定key的有效时间,如果是-1则表示永远有效
        jedis.setex("timekey", 10, "min");//通过此方法,可以指定key的存活(有效时间) 时间为秒
        Thread.sleep(5000);//睡眠5秒后,剩余时间将为<=5
        System.out.println(jedis.ttl("timekey"));   //输出结果为5
        jedis.setex("timekey", 1, "min");        //设为1后,下面再看剩余时间就是1了
        System.out.println(jedis.ttl("timekey"));  //输出结果为1
        System.out.println(jedis.exists("key"));//检查key是否存在
        System.out.println(jedis.rename("timekey","time"));
        System.out.println(jedis.get("timekey"));//因为移除,返回为null
        System.out.println(jedis.get("time")); //因为将timekey 重命名为time 所以可以取得值 min

        //jedis 排序
        //注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
        jedis.del("a");//先清除数据,再加入数据进行测试
        jedis.rpush("a", "1");
        jedis.lpush("a","6");
        jedis.lpush("a","3");
        jedis.lpush("a","9");
        System.out.println(jedis.lrange("a",0,-1));// [9, 3, 6, 1]
        System.out.println(jedis.sort("a")); //[1, 3, 6, 9]  //输入排序后结果
        System.out.println(jedis.lrange("a",0,-1));

    }

分享到:
评论

相关推荐

    tomcat-redis-session-manager-master-2.0.0

    tomcat-redis-session-manager-2.0.0.jar jedis-2.5.2.jar commons-pool2-2.2.jar 2.修改 conf 目录下的 context.xml 文件 host="localhost" port="6379" database="0" maxInactiveInterval="60" /&gt; ...

    tomcat-redis-session-manager for tomcat8.5

    压缩文件包括tomcat-redis-session-manager-master-2.0.0.jar、jedis-2.7.3.jar、commons-pool2-2.3.jar三个jar包使用方法请参照https://github.com/jcoleman/tomcat-redis-session-manager。apache-tomcat-8.5.33....

    jedis-2.9.0-API文档-中文版.zip

    对应Maven信息:groupId:redis.clients,artifactId:jedis,version:2.9.0 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释...

    nginx1.8-tomcat7-redis3.2-session配置和jar包

    本文件包经过本人亲测能用,支持nginx1.8.1和tomcat7.0.63和Redis-x64-3.2.100版, 包含tomcat集群redis会话共享的依赖jar包,包含有2.1.0和2.7.2两个版本,配置方式稍微有点差别,两个版本不兼容。 2.1.0版包含 ...

    tomcat-redis-session-manager包集合下载(tomcat8)

    所需的tomcat-redis-session-manager所有的jar包下载。测试环境JDK1.8,Tomact8

    tomcat-redis-session-manager-1.2-tomcat-7-java-7

    tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar commons-pool-1.6.jar jedis-2.0.0.jar

    jedis-2.8.0-API文档-中文版.zip

    标签:clients、jedis、redis、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...

    tomcat-redis-session-manager-2.0.0.jar

    tomcat-redis-session-manager-2.0.0.jar,可用于Tomcat8下Redis的Session共享,亲测可用,还需要下载另外两个jar包:commons-pool2-2.4.2.jar和jedis-2.9.0.jar,maven仓库有,此处不再上传

    tomcat8.5.20-redis-session共享-JAR包大全

    这个包里含有commons-pool2-2.4.2、jedis-2.9.0、tomcat85-session-redis-1.0三个主要JAR包。apache-tomcat-8.5.20.tar.gz源码包和context.xml文件,这套配置是我自己亲测可用的。。另外我用的redis4这个版本。注意...

    Jedis操作Redis的案例

    Jedis操作Redis的案例,主要涉及MyBatis持久层框架、Jedis工具类、Servlet、JSP页面等技术

    jedis-3.0.1-API文档-中文版.zip

    标签:clients、jedis、redis、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    jedis-2.9.0-API文档-中英对照版.zip

    对应Maven信息:groupId:redis.clients,artifactId:jedis,version:2.9.0 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释...

    tomcat-redis-session-manager-1.2-tomcat-6&7

    包括commons-pool-1.6.jar,jedis-2.0.0.jar,tomcat-redis-session-manager-1.2-tomcat-6&7.jar

    jedis-3.0.1-API文档-中英对照版.zip

    标签:clients、jedis、redis、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    Jedis操作redis代码示例

    java操作redis代码示例 ,注释,Jedis的api操作注释详细。

    jedis-3.6.0-API文档-中英对照版.zip

    标签:redis、clients、jedis、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...

    Redis-x64-3.2.100

    REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供...

    redis-4.0.2 Linux版本及手写安装文档及jedis jar

    redis-4.0.2 Linux版本及在Linux上安装文档与开发是连接redis需要的jar包

    Redis-x64-3.2.100 Jedis-2.9.0 pool2-2.42例子及jar.rar

    Redis-x64-3.2.100 Jedis-2.9.0 pool2-2.42例子及jar.rar

    spring-data-redis-1.7.2.RELEASE.jar

    jedis、spring-redis-datade的整合使用,如果版本不匹配可能存在不兼容的问题,从而产生异常。 这里给出无异常的版本匹配: 1、spring-data-redis-1.7.2.RELEASE.jar 2、pring-data-commons-1.8.2.RELEASE.jar2 ...

Global site tag (gtag.js) - Google Analytics