Java访问Redis,Jedis的使用
导入jar包
下载jedis的jar包,或者使用Maven,gradle等导入
基本使用
set 字符串
//set 字符串
@Test
public void myTest01(){
Jedis jedis = new Jedis("localhost");
jedis.set("jedis_key","jedis_string");
jedis.close();
}
get字符串
//get 字符串
@Test
public void myTest02(){
Jedis jedis = new Jedis("localhost");
String jedis_key = jedis.get("jedis_key");
System.out.println(jedis_key);
jedis.close();
}
del 字符串
//del 字符串
@Test
public void myTest03(){
Jedis jedis = new Jedis("localhost");
jedis.del("jedis_key");
jedis.close();
}
list
//list
@Test
public void myTest04(){
Jedis jedis = new Jedis("localhost");
jedis.lpush("sentences","love");
jedis.lpush("sentences","I");
jedis.rpush("sentences","u");
jedis.close();
}
keys
//keys *
@Test
public void myTest05(){
Jedis jedis = new Jedis("localhost");
Set<String> keys = jedis.keys("*");
for(String s:keys){
System.out.println(s);
}
jedis.close();
}
连接池
public class RedisPoolDemo {
public static void main(String[] args) {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(50);//最大空闲时间
config.setMaxTotal(10);//最大连接数
JedisPool jedisPool = new JedisPool(config,"localhost",6379);
Jedis jedis = jedisPool.getResource();
String mylanguage = jedis.get("mylanguage");
System.out.println(mylanguage);
jedis.close();
}
}
可能会出现的问题
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at redis.clients.jedis.HostAndPort.<clinit>(HostAndPort.java:12)
at redis.clients.jedis.JedisFactory.<init>(JedisFactory.java:68)
at redis.clients.jedis.JedisFactory.<init>(JedisFactory.java:61)
at redis.clients.jedis.JedisFactory.<init>(JedisFactory.java:54)
at redis.clients.jedis.JedisFactory.<init>(JedisFactory.java:37)
at redis.clients.jedis.JedisPool.<init>(JedisPool.java:239)
at redis.clients.jedis.JedisPool.<init>(JedisPool.java:165)
at redis.clients.jedis.JedisPool.<init>(JedisPool.java:137)
at redis.clients.jedis.JedisPool.<init>(JedisPool.java:76)
at redis.clients.jedis.JedisPool.<init>(JedisPool.java:120)
at redis.clients.jedis.JedisPool.<init>(JedisPool.java:103)
at com.kehao.RedisPoolDemo.main(RedisPoolDemo.java:13)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 12 more
```
原因是新版的Redis需要slf4j 所以需要导入slf4j的包

浙公网安备 33010602011771号