Loading

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();
    }

连接池

连接池jar包 commons-pool2.jar

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的包
posted @ 2021-03-30 16:03  克豪  阅读(385)  评论(0)    收藏  举报