zoukankan      html  css  js  c++  java
  • 用Jedis连接Redis

    jedis中的方法名,和Redis的命令几乎一样

    1.jar包,作为测试只需要一个jar

    2.代码

    package com;
    
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;
    
    import org.junit.Before;
    import org.junit.Test;
    
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.Pipeline;
    
    /**
     * 使用jedis连接Redis
     */
    public class TestJedis {
        
        private Jedis j;
        
        /**
         * 连接redis
         */
        @Before
        public void before(){
            
             j = new Jedis("localhost", 6379);
        }
        
        /**
         * 操作String类型
         * 
         */
         @Test
        public void test00(){
            
             //添加数据:添加数据时,若key值相同,则value的值会覆盖
            j.set("name1", "李四");
            
             //添加数据并设置有效期:第二个参数为有效时间:10秒,超过时间key自动销毁
            j.setex("name2", 10, "有效期10秒");
            
             //添加多条数据
            j.msetnx("name3", "王五","name4","赵六");
            
            //删除
            j.del("name2");
            
            //取数据
            System.out.println( j.get("name1") );
            
            //查看key的剩余时间
            System.out.println( j.ttl("name3") );
            
            //批量获取key
            List<String> mget = j.mget("name1","name3");
            
            for (String string : mget) {
                System.out.println(string);
            }
        }
         
         /**
          * List类型
          */
         @Test
         public void test01(){
             
             //清空数据库
             j.flushDB();
             
             //向key=name1,添加三条数据
             j.lpush("name1", "张三","李四","王五");
             
             //按下标取出数据,0代表第一个元素,-1代表最后一个元素
             List<String> list = j.lrange("name1", 0, -1);
             for (String string : list) {
                System.out.println(string);
            }
             
            //除了第一个元素,其他全部删除
             j.ltrim("name1", 0, 0);
             
         }
        
         /**
          * HashSet
          */
         //
         @Test
         public void test02(){
             //清空数据库
             j.flushDB();
             
             //添加
             j.sadd("name1", "1","2","3");
             
             //查所有
             Set<String> smembers = j.smembers("name1");
             for (String string : smembers) {
                System.out.println(string);
            }
         }
         
         /**
          * SortedSet
          */     @Test
         public void test3(){
             j.del("name1");
             
             //添加分数为1好2的两条数据
             j.zadd("name1", 3, "张三");
             j.zadd("name1",1,"李四");
             
             //
             Set<String> zrange = j.zrange("name1", 0, -1);
             for (String string : zrange) {
                    System.out.println(string);     // 输出: 李四,张三
            }
         }
         
         /**
          * HashMap
          */
         @Test
         public void test04(){
             j.del("name1");
             //添加map源数据
             HashMap<String,String> map = new HashMap<String,String>();
             map.put("name1", "张三");
             map.put("name2", "李四");
             
             //向Redis添加数据
             j.hmset("names", map);
             
             //查询map中的数据
             List<String> hmget = j.hmget("names","name1","name2");
             for (String string : hmget) {
                System.out.println(string);
            }
         }
         
         /**
          * 批量插入
          */
         @Test
         public void test05(){
             //开始时间
             long begin = System.currentTimeMillis();
             
             //批量插入
             Pipeline pipelined = j.pipelined();
             
             for (int i = 0; i < 100000; i++) {
                 
                 pipelined.set("name"+ i, "value"+i);
            }
             //释放
             pipelined.sync();
             
             //结束时间
             long end = System.currentTimeMillis();
             
             System.out.println( ( (end - begin) /1000.0 ) +"秒");
         }
        
    }
  • 相关阅读:
    WebApi 接口参数不再困惑:传参详解
    文件 jq 传到后台
    【XML】-- C#读取XML中元素和属性的值
    【jQuery】jquery.metadata.js验证失效
    jQuery插件 -- 表单验证插件jquery.validate.js
    c#批量上传图片到服务器示例分享
    程序如何实现设置系统WIFI共享
    百度编辑器ueditor插入表格没有边框,没有颜色的解决方法
    百度UEditor粘贴或插入的表格不显示边框的解决办法
    AttributeError at /home/home/ Exception Type: AttributeError at /home/home/
  • 原文地址:https://www.cnblogs.com/liuconglin/p/5910939.html
Copyright © 2011-2022 走看看