Jedis(三)——Hash/List/Set


照着文檔,找對應的函數就好了,封裝得很完整,使用真不是什么難事。

至於二次封裝的話,實現Spring的Cache接口即可,如果希望代碼萬能通用,可以結合序列化技術,只使用String數據類型。 

Hash

package cn.swsk.xbry.api.v1.md1001;

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

import java.util.HashMap;
import java.util.Map;

/**
 * @author css
 * @date 2019/9/24 22:20
 */
public class Test {
   public static void main(String[] args) throws InterruptedException {
      JedisPoolConfig config = new JedisPoolConfig();
      config.setMaxTotal(25);
      config.setMaxIdle(20);
      config.setMinIdle(5);
      try (
         JedisPool pool = new JedisPool(config, "127.0.0.1", 6379);
         Jedis jedis = pool.getResource()) {
         jedis.select(0);
         //type of hash

         //1、分別給哈希表key中的域設置值,分別對key中的字段1、字段2設置值
         jedis.hset("testHash" , "field1" , "value1");
         jedis.hset("testHash" , "field2" , "value1");
         //2、用一個JAVA中的HashMap直接存儲為redis中的哈希表
         Map<String, String> map = new HashMap<>();
         map.put("field11" , "value11");
         map.put("field12" , "value11");
         jedis.hmset("testHash2" , map);

         System.out.println(jedis.keys("*"));
         System.out.println(jedis.hkeys("testHash"));

         System.out.println(jedis.hgetAll("testHash"));
         System.out.println(jedis.hgetAll("testHash2"));
      }
   }
}

List

package cn.swsk.xbry.api.v1.md1001;

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

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

/**
 * @author css
 * @date 2019/9/24 22:20
 */
public class Test {
   public static void main(String[] args) throws InterruptedException {
      JedisPoolConfig config = new JedisPoolConfig();
      config.setMaxTotal(25);
      config.setMaxIdle(20);
      config.setMinIdle(5);
      try (
         JedisPool pool = new JedisPool(config, "127.0.0.1", 6379);
         Jedis jedis = pool.getResource()) {
         jedis.select(0);
         //type of list

         String key1 = "key1";
         //將值value插入到列表key的表頭。
         jedis.lpush(key1, "what", "how", "1", "0哈哈哈哈");

         //取出
         System.out.println(jedis.lpop(key1));
         System.out.println(jedis.lpop(key1));
         System.out.println(jedis.lpop(key1));

         //返回列表key中指定區間內的元素,區間以偏移量start和stop指定. 下標(index)參數start和stop從0開始; 
      //負數下標代表從后開始(-1表示列表的最后一個元素,-2表示列表的倒數第二個元素,以此類推) 返回一個List
System.out.println(jedis.lrange(key1, 0, jedis.llen(key1) - 1)); System.out.println(jedis.lrange(key1, 0, jedis.llen(key1) - 1)); } } }

Set

package cn.swsk.xbry.api.v1.md1001;

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

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

/**
 * @author css
 * @date 2019/9/24 22:20
 */
public class Test {
   public static void main(String[] args) throws InterruptedException {
      JedisPoolConfig config = new JedisPoolConfig();
      config.setMaxTotal(25);
      config.setMaxIdle(20);
      config.setMinIdle(5);
      try (
         JedisPool pool = new JedisPool(config, "127.0.0.1", 6379);
         Jedis jedis = pool.getResource()) {
         jedis.select(0);
         //type of set

         String key1 = "key3", key2 = "key2";
         //將member元素加入到集合key當中。
         jedis.sadd(key1, "I", "want", "to", "do", "something", "it", "with", "my", "friend");

         //返回集合key的元素的數量
         System.out.println(jedis.scard(key1));

         //移除集合中的多個member元素。
         jedis.srem(key1, "it");
         System.out.println(jedis.scard(key1));

         //判斷元素是否是集合key的成員
         System.out.println(jedis.sismember(key1, "it"));

         //返回集合key中的所有成員。返回一個set
         System.out.println(jedis.smembers(key1));

         //交集
         System.out.println(jedis.sinter(key1, key2));
         //並集
         System.out.println(jedis.sunion(key1, key2));
         //差集
         System.out.println(jedis.sdiff(key1, key2));
      }
   }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM