jedis读取redis中各个数据类型

本文介绍了Redis中的五种基本数据类型:String、List、Set、Hash和Zset的操作,包括存储和读取示例。此外,还详细展示了如何使用Jedis进行单个连接和集群连接配置,并提供了队列的存取示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据类型简单解释

1.String类型
相当于Map类型的存储方式,储存采用key:value的形式存储
2.list类型
一个key对应多个value
3.set类型
一个key对应多个value,有相同值会去重
4.hash类型
一个key里面对应多个key:value的形式键值对
5.zset类型
一个key对应多个value,有相同值会去重,会根据输入的排序值进行排序

jedis读取数据类型

Jedis jedis = new Jedis("ip",端口);
        jedis.auth("password");
        // 批量存储string类型数据
         jedis.mset("string_key1","value","string_key2","value2","string_key3","value3");
        // 单个储存string类型数据
         jedis.set("string_key4","value");
         // 取出string类型数据
        String string_value1 = jedis.get("string_key1");
        String string_value2 = jedis.get("string_key4");

        // jedis储存list类型
        jedis.lpush("list_key","value1","value2","value3");
        // 取出list类型
        Long list_len = jedis.llen("list_key");
        List<String> list_values = jedis.lrange("list_key", 0, list_len);//(key,开始索引,结束索引)

        // jedis储存set类型(相同的key储存时,不会覆盖之前的key存的value,遵守set的去重)
        jedis.sadd("set_key","value","value","value1","value1","value2");
        // 取出set类型
        Set<String> set_values = jedis.smembers("set_key");

        // jedis储存hash类型
        jedis.hset("hash_key","key1","value");
        // 取出hash类型
        String hget = jedis.hget("hash_key", "key1");

        // jedis储存zset类型(key,排序值,value)
        jedis.zadd("zset_key",1,"value1");
        jedis.zadd("zset_key",2,"value2");
        jedis.zadd("zset_key",0,"value3");
        // jedis取出zset类型 (会根据排序值由低到高排序)
        Set<String> zset_key = jedis.zrange("zset_key", 0, 100);

jedis队列的存取

 // jedis储存到队列及取出数据
        // 将数据添加到队列尾部
        jedis.rpush("key","value","value2");
        // 循环拿取队列中的数据
        while (!Thread.interrupted()){
            new Thread(()->{
                // 从 list 中删除并返回第一个元素
                String values = jedis.lpop("key");
                System.out.println("接下来做业务处理");
                // 休眠
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }).start();
        }

jedis集群连接配置

 private static JedisCluster jedisCluster = null;
 
 public synchronized static JedisCluster refJedisCluster() {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(1);
        config.setMaxIdle(1);
        config.setMaxWaitMillis(1000);
        config.setTestOnBorrow(true);

        // 集群模式
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        Set<HostAndPort> nodes = new HashSet<HostAndPort>();
		// ip地址加端口
        HostAndPort hostAndPort = new HostAndPort("ip地址", 6379);
        nodes.add(hostAndPort);
        hostAndPort = new HostAndPort("ip地址", 6380);
        nodes.add(hostAndPort);
        hostAndPort = new HostAndPort("ip地址", 6381);
        nodes.add(hostAndPort);

        jedisCluster = new JedisCluster(nodes, poolConfig);
        return jedisCluster;
    }

jedis单个连接配置

private static Jedis jedis = null;

//Jedis配置
    public synchronized static Jedis refJedisOne() {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(1);
        config.setMaxIdle(1);
        config.setMaxWaitMillis(1000);
        config.setTestOnBorrow(true);


        JedisPool jedisPool = new JedisPool(config, "127.0.0.1", 6379);
        if (jedis == null){
            jedis = jedisPool.getResource();
        }
        return jedis;
    }

    //Jedis关闭资源
    public void closeJedis(Jedis jedis1){
        if (jedis1 != null){
            jedis1.close();
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值