使用Jedis实现在Java应用中对Redis数据库的各种操作
Jedis 是一个 Java 客户端库,用于连接和操作 Redis 数据库。
import redis.clients.jedis.Jedis;
/**
* @author: wenwan4e
* @Date: 2022/9/6 9:44
*/
public class JedisTest {
private static final String REDIS_HOST = "xx.xxx.xx.xxx";
private static final int REDIS_PORT = 6379;
private static final String redisPassword = "xxxxxxxxxxx";
public static void main(String[] args0) throws Exception {
//Create Jedis instance and connect to Redis server
Jedis jedis = new Jedis(REDIS_HOST, REDIS_PORT);
jedis.auth(redisPassword);
//Set a key-value pair
jedis.set("test1","hello!");
System.out.println("test1: "+jedis.get("test1"));
//delete key-value pair
jedis.del("test1");
System.out.println("test1: "+jedis.get("test1"));
//Hash
jedis.hset("user","name","wenwan4e");
System.out.println("get user name: "+jedis.hget("user","name"));
jedis.del("user");
//List
jedis.lpush("list1","a","b","c","a");
System.out.println("list1: "+jedis.lrange("list1",0,-1));
jedis.del("list1");
jedis.rpush("list2","a","b","c","a");
System.out.println("list2: "+jedis.lrange("list2",0,-1));
jedis.del("list2");
//Set
jedis.sadd("set","a","d","c","a","b");
System.out.println("set: "+jedis.smembers("set"));
jedis.del("set");
//Zset
jedis.zadd("zset",1,"a");
jedis.zadd("zset",2,"c");
jedis.zadd("zset",3,"a");
jedis.zadd("zset",4,"b");
System.out.println("zset: "+jedis.zrange("zset",0,-1));
jedis.del("zset");
}
}
> Task :JedisTest.main()
test1: hello!
test1: null
get user name: wenwan4e
list1: [a, c, b, a]
list2: [a, b, c, a]
set: [a, b, c, d]
zset: [c, a, b]
在高并发的情况下,使用JedisPool。
public static void main(String[] args0) throws Exception {
//Configure connection pool
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(100); //maximum connections
jedisPoolConfig.setMaxIdle(30); //Maximum number of idle connections
jedisPoolConfig.setMinIdle(5); //Minimum number of idle connections
jedisPoolConfig.setMaxWait(Duration.ofMillis(10000)); //Maximum waiting time for obtaining a connection
jedisPoolConfig.setBlockWhenExhausted(true); //Whether to block when the connection is exhausted
//Create connection pool
JedisPool jedisPool = new JedisPool(jedisPoolConfig,REDIS_HOST, REDIS_PORT,1000,redisPassword);
//Retrieve Jedis instances from the connection pool
Jedis jedis = jedisPool.getResource();
jedis.set("pool_key", "pool_value");
System.out.println("pool_key : " + jedis.get("pool_key"));
jedis.del("pool_key");
}
> Task :JedisTest.main()
pool_key : pool_value
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步