当前位置: 代码迷 >> 综合 >> Java 之 Jedis 与jedispool
  详细解决方案

Java 之 Jedis 与jedispool

热度:82   发布时间:2023-12-24 03:54:23.0

   1.set  get  setex          2.存储hash       3.list     4.zset      5.set                             JedisPool

1.set  get  setex   

       jedis 构造方法默认不写 就是 本地的

    @Testpublic void test01(){Jedis redis = new Jedis("127.0.0.1",6379);String set = redis.set("name", "wyc");System.out.println(set);                  okSystem.out.println(redis.get("name"));  wyc }

    setex   设置过期时间

       @Testpublic void test02() throws InterruptedException {Jedis redis = new Jedis();redis.setex("age",8,"15");         8秒这个键过期String ret1 = redis.get("age");  15Thread.sleep(10000);    睡10sString ret2 = redis.get("age");System.out.println(ret2);  null}

2.存储hash 

        @Testpublic void test03() throws InterruptedException {Jedis redis = new Jedis();redis.hset("user","name","wyc");redis.hset("user","age","18");redis.hset("user","gender","男");String gender = redis.hget("user", "gender");System.out.println(gender);  男Map<String, String> users = redis.hgetAll("user");System.out.println(users);  {gender=男, name=wyc, age=18}Set<String> keys = users.keySet();  name ,age, genderfor (String key : keys) {System.out.println(users.get(key));  男   wyc   18}

    user :[ "name": "wyc"  ,"age": "18"  ,  "gender":"男"  ]

3.list  

        Jedis redis = new Jedis();redis.lpush("list","a","b","c");redis.rpush("list","a","b","c");List<String> list = redis.lrange("list", 0, -1);  c b a a b cString list1 = redis.lpop("list");    cString list2 = redis.rpop("list");      cSystem.out.println(redis.lrange("list", 0, -1));   b a a b

4.zset 

         Jedis redis = new Jedis();redis.zadd("name",1,"wyc");redis.zadd("name",50,"xqy");redis.zadd("name",25,"wahaha");Set<String> names = redis.zrange("name", 0, -1);System.out.println(names);  [wyc, wahaha, xqy]

 5.set  

         public void test05() throws InterruptedException {Jedis redis = new Jedis();redis.sadd("unique","wyc","xqy","sb","hh");     如果重复返回0Set<String> uniqueset = redis.smembers("unique");    [wyc, hh, xqy, sb]System.out.println(uniqueset);  

JedisPool

         JedisPoolConfig config = new JedisPoolConfig();config.setMaxTotal(20);    设置pool的最大连接数config.setMaxIdle(5);      最大空闲数JedisPool jedisPool = new JedisPool(config,"127.0.0.1",6379);  传入配置Jedis redis = jedisPool.getResource();    返回redis客服端

 JedisPoolUtils

    public class JedisPoolUtils {private static JedisPool jedisPool;static {InputStream res = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");Properties pro = new Properties();try {pro.load(res);    //加载文件} catch (IOException e) {e.printStackTrace();}//配置jedispoolJedisPoolConfig config = new JedisPoolConfig();config.setMaxTotal(Integer.parseInt(pro.getProperty("MaxTotal")));config.setMaxIdle(Integer.parseInt(pro.getProperty("MaxIdle")));//初始化jedispooljedisPool = new JedisPool(config,pro.getProperty("host"),Integer.parseInt(pro.getProperty("port")));}//获取redis 方法public static Jedis getJedis(){return jedisPool.getResource();}}