当前位置: 代码迷 >> 综合 >> Jedis-java连接redis(demo)
  详细解决方案

Jedis-java连接redis(demo)

热度:37   发布时间:2023-12-28 08:51:01.0

什么是jedis

jedis是集成了redis常用命令的java客户端开发包,提供了连接池管理方案。

添加依赖 

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.0.1</version></dependency>

普通连接

package com.clc.test;import redis.clients.jedis.Jedis;public class JedisTest {public static void main(String[] args) {//创建连接对象Jedis jedis = new Jedis("127.0.0.1", 6379);//set key valueString set = jedis.set("k1", "v1");//get keyString value = jedis.get("k1");System.out.println(value);//关闭连接jedis.close();}
}

连接池

package com.clc.test;import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;public class PoolTest {public static void main(String[] args) {//连接池配置JedisPoolConfig poolConfig = new JedisPoolConfig();//设置最多连接数为200个poolConfig.setMaxTotal(200);//创建连接池JedisPool pool = new JedisPool(poolConfig, "127.0.0.1", 6379);//获取连接对象jedisJedis jedis = pool.getResource();//set key valueString set = jedis.set("k1", "v1");//get keyString value = jedis.get("k1");System.out.println(value);//关闭当前连接,并归还连接jedis.close();//关闭连接池pool.close();}
}

分片式连接池

package com.clc.test;import java.util.ArrayList;
import java.util.List;import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;public class ShardTest {public static void main(String[] args) {//连接池配置JedisPoolConfig poolConfig = new JedisPoolConfig();poolConfig.setMaxTotal(200);//创建redis服务器集群对象(列表)List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();shards.add(new JedisShardInfo("127.0.0.1",6379));shards.add(new JedisShardInfo("192.168.1.110",6379));shards.add(new JedisShardInfo("192.168.1.111",6379));//创建分片式redis连接池ShardedJedisPool shardedJedisPool = new ShardedJedisPool(poolConfig, shards);//获取连接ShardedJedis jedis = shardedJedisPool.getResource();//set key valuefor (int i = 0; i < 100; i++) {jedis.set("k"+i, "v"+i);//根据key的hash值,存到对应的redis服务器}//关闭当前连接,并归还连接jedis.close();//关闭连接池shardedJedisPool.close();}
}