• Jedis操作五种不同的类型的数据


    
    
    package cn.hope.jedis.utils;

    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;

    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;

    /**
    * @author newcityman
    * @date 2019/9/20 - 0:33
    * JedisPool工具类
    * 加载配置文件,配置连接池的连接池
    * 提供获取连接的方法
    */
    public class JedisPoolUtils {
    private static JedisPool jedisPool;
    static {
    //读取配置文件
    InputStream is = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
    //创建Properties对象
    Properties prop = new Properties();
    try {
    prop.load(is);
    } catch (IOException e) {
    e.printStackTrace();
    }
    //获取数据,设置到JedisPoolConfig()中
    JedisPoolConfig config = new JedisPoolConfig();
    config.setMaxIdle(Integer.parseInt( prop.getProperty("maxTotal")));
    config.setMaxTotal(Integer.parseInt(prop.getProperty("maxIdle")));
    jedisPool=new JedisPool(config,prop.getProperty("host"),Integer.parseInt(prop.getProperty("port")));
    }

    /**
    * 获取连接方法
    * @return
    */
    public static Jedis getJedis(){
    return jedisPool.getResource();
    }
    }



    package cn.hope.jedis.test;

    import cn.hope.jedis.utils.JedisPoolUtils;
    import org.junit.Test;
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;

    import java.util.List;
    import java.util.Map;
    import java.util.Set;

    /**
    * Jedis测试类
    * @author newcityman
    * @date 2019/9/19 - 22:36
    */
    public class JedisTest {
    @Test
    public void test1(){
    //1、创建连接
    Jedis jedis = new Jedis("localhost", 6379);
    //2、操作
    jedis.set("city","nanjing");
    //3、关闭连接
    jedis.close();
    }

    /**
    * String数据结构操作
    */
    @Test
    public void test2(){
    //1、创建连接
    Jedis jedis = new Jedis();//不写参数时,默认是主机是localhost,端口是6379
    //2、操作
    jedis.set("city","nanjing");
    String city = jedis.get("city");
    System.out.println(city);
    jedis.setex("activecode",20,"159637");
    String activecode = jedis.get("activecode");
    System.out.println(activecode);
    //3、关闭连接
    jedis.close();
    }

    /**
    * Hset数据结构操作
    */
    @Test
    public void test3(){
    //1、创建连接
    Jedis jedis = new Jedis();
    //2、操作
    //存储hash
    jedis.hset("myhash","hashid","123");
    jedis.hset("myhash","hashname","pickpag");
    jedis.hset("myhash","hashage","12");
    //获取hash
    String hget = jedis.hget("myhash", "hashname");
    System.out.println(hget);
    //获取hash中说有map值
    Map<String, String> map = jedis.hgetAll("myhash");

    Set<String> strings = map.keySet();
    for (String string : strings) {
    System.out.println(string+":"+map.get(string));
    }
    //3、关闭连接
    jedis.close();
    }

    /**
    * list数据结构操作
    */
    @Test
    public void test4(){
    //1、创建连接
    Jedis jedis = new Jedis();
    //2、操作
    //存储list
    jedis.lpush("mylist","a" ,"b","c");
    jedis.rpush("mylist","a" ,"b","c");

    //获取list 范围获取
    List<String> mylist = jedis.lrange("mylist", 0, -1);
    System.out.println(mylist);

    //list 弹出
    String lpop = jedis.lpop("mylist");
    String rpop = jedis.rpop("mylist");
    System.out.println(lpop);
    System.out.println(rpop);
    //获取list 范围获取
    List<String> mylist2 = jedis.lrange("mylist", 0, -1);
    System.out.println(mylist2);

    //3、关闭连接
    jedis.close();
    }

    /**
    * set数据结构操作
    */
    @Test
    public void test5(){
    //1、创建连接
    Jedis jedis = new Jedis();
    //2、操作
    //存储set
    jedis.sadd("myset","java","c++","delphi");

    //获取
    Set<String> myset = jedis.smembers("myset");
    System.out.println(myset);

    //3、关闭连接
    jedis.close();
    }

    /**
    * sortedSet数据结构操作
    */
    @Test
    public void test6(){
    //1、创建连接
    Jedis jedis = new Jedis();
    //2、操作
    //存储sortedSet
    jedis.zadd("mysortedSet",50,"哪吒");
    jedis.zadd("mysortedSet",70,"西游记");
    jedis.zadd("mysortedSet",40,"红楼梦");

    //获取
    Set<String> mysortedSet = jedis.zrange("mysortedSet", 0, -1);
    System.out.println(mysortedSet);

    //3、关闭连接
    jedis.close();
    }

    /**
    * Jedis连接池使用
    */
    @Test
    public void test7(){
    //1、创建连接池配置对象
    JedisPoolConfig config = new JedisPoolConfig();
    config.setMaxTotal(50);
    config.setMaxIdle(10);

    //2、创建连接池
    JedisPool jedisPool = new JedisPool(config, "localhost", 6379);
    //3.通过连接池获取连接
    Jedis jedis = jedisPool.getResource();
    //4、使用
    jedis.set("hhhhh","wwwww");
    //5、关闭,归还到连接池中
    jedis.close();
    }

    /**
    * 通过连接池工具类连接
    */
    @Test
    public void test8(){
    //1、获得连接
    Jedis jedis = JedisPoolUtils.getJedis();
    //2、操作
    jedis.set("jedispoolutils","jedispoolutils");
    String jedispoolutils = jedis.get("jedispoolutils");
    System.out.println(jedispoolutils);
    //3、关闭
    jedis.close();
    }


    }
     
  • 相关阅读:
    第七周
    跳ajax方式进行前后台交互之后台代码要怎么写
    写代码要注意细节,无谓的找前台bug
    mysql复习增删改查
    jquery获取value值
    sql查阅每一月的数据
    登录模块需要用到session留底
    前后台使用ajax传list的时候,用value[] 获取值
    Datables wrning(table id='example'):Cannot reinitialise DataTable.
    动态规划1
  • 原文地址:https://www.cnblogs.com/newcityboy/p/11553415.html
Copyright © 2020-2023  润新知