Cómo operar redis en Java

I. Introducción

Si no sabes mucho sobre Redis, puedes leer este artículo, que lo explica con gran detalle. ! !

(6 mensajes) Qué es redis y cómo usar redis_Shi es el blog-CSDN de Null icono-default.png?t=M1L8https://blog.csdn.net/weixin_51418964/article/details/123097822

2. Descargue el paquete jar Jedis

1. ¿Qué son los Jedi?

Jedis es una herramienta java para operar la base de datos redis.

2. Pasos de descarga

1. Enlace de descarga del sitio web oficial:

Repositorio Maven: redis.clients » jedis (mvnrepository.com) icono-default.png?t=M1L8https://mvnrepository.com/artifact/redis.clients/jedis 2. Busque uno con un volumen de descarga relativamente grande (también puede descargar el último y darle una intentar)!

 3. Haga clic en jar(540k) para comenzar a descargar.

4. Si es un proyecto Maven, es más conveniente copiar el código directamente a pom.xml.

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

 3. Importe el paquete jar al proyecto idea.

1. Cree una nueva carpeta de utilidades y copie el paquete jedis jar en ella.

 2. Luego haga clic derecho y haga clic en Agregar como biblioteca...

 3. Descargue el paquete jar de JedisPool

1. ¿Por qué utilizar JedisPool?

En primer lugar, si generamos un objeto Jedis cada vez que usamos el caché, esto significa que se establecerán muchas conexiones de socket, provocando un uso incontrolable de los recursos del sistema e incluso provocando que se produzcan errores extraños.

Sin embargo, si utiliza el modo singleton, el modo seguro para subprocesos no puede cumplir con los requisitos de alta concurrencia y el modo no seguro para subprocesos puede causar errores relacionados con el tiempo.

Por lo tanto, para evitar estos problemas, se introdujo el concepto de grupo JedisPool.

JedissPool es un grupo de conexiones de red seguro para subprocesos. Podemos crear y administrar instancias de Jedis a través de JedisPool, que puede resolver eficazmente los problemas anteriores y lograr un alto rendimiento del sistema.

2. Pasos de descarga

1. Haga clic en el enlace del sitio web oficial para descargar.

Pool: descargue Apache Commons Pool icono-default.png?t=M1L8https://commons.apache.org/proper/commons-pool/download_pool.cgi 2. Haga clic en la descarga que termina en bin.zip

 3. Descomprima y copie el paquete jar a la carpeta del proyecto. El método de importación es el mismo que el de jedis.

 4. Uso de prueba

1. Abra el servidor redis

2. Escribe el código de prueba.

@Test
    public void Test(){
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(100);            //最大允许连接数
        config.setMaxIdle(10);           //最大空闲连接数
        // 设置Jedis连接池
        JedisPool jedisPool = new JedisPool(config,"localhost",6379);
        Jedis jedis = jedisPool.getResource();           //获取连接
        jedis.set("hello","wocao");                    // 设置数据
        System.out.println(jedis.get("hello"));       // 获取数据
        jedis.close();                                // 关闭资源
    }

3. Resultados de ejecución

Si puede ver la marca de verificación verde , significa que no hay ningún problema con la importación. ! !

 4. Cómo utilizar jedis de forma más cómoda

1. Primero escriba un archivo jedis.properties

host=127.0.0.1
port=6379
maxTotal=50
maxIdle=10

 2. Escriba otro kit de herramientas JedisUtils

public class JedisUtils {
    private static JedisPool jedisPool;
    static {
        //创建Properties对象
        Properties properties = new Properties();
        //关联文件
        try {
            //读取配置文件
            properties.load(JedisUtils.class.getClassLoader().getResourceAsStream("jedis.properties"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        //获取数据,设置到JedisPoolConfig中
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxIdle(Integer.parseInt(properties.getProperty("maxIdle")));
        config.setMaxTotal(Integer.parseInt(properties.getProperty("maxTotal")));
        //初始化JedisPool
        jedisPool = new JedisPool(config,properties.getProperty("host"),Integer.parseInt(properties.getProperty("port")));
    }
    /**
     * 获取连接方法
     */
    public static Jedis getJedis(){
        return jedisPool.getResource();
    }
}

3. Escriba la prueba del grupo de conexiones Jedis

@Test
    public void TestPool(){
        Jedis jedis = JedisUtils.getJedis();      // 使用Utils工具类获取连接
        jedis.set("hello","redisPool");
        System.out.println(jedis.get("hello"));
        jedis.close();
    }

4. Resultados de ejecución 

5. Obtenga varios tipos de datos

1. Prueba de tipo de cadena

@Test
    public void Test1(){
        Jedis jedis = new Jedis("localhost",6379);              //获取连接,默认空参为localhost 6379
        jedis.set("username","zhangsan");                //操作
        String username = jedis.get("username");           //获取
        System.out.println(username);
        jedis.close();                       //关闭连接
        jedis.setex("activcode",20,"woqiao");           //设置一个20秒以后自动删除的key
    }

 2. Prueba de estructura de datos hash

@Test
public void Test2(){
        Jedis jedis = new Jedis();
        jedis.hset("user","name","lisi");
        jedis.hset("user","gender","男");
        jedis.hset("user","age","23");
        String name = jedis.hget("user", "name");
        System.out.println(name);
        Map<String, String> user = jedis.hgetAll("user");
        System.out.println(user);
        jedis.close();
}

3. Prueba de estructura de datos de lista

@Test
    public void Test3(){
        Jedis jedis = new Jedis("localhost",6379);
        jedis.lpush("mylist","a","b","c");
        jedis.rpush("mylist","a","b","c");
        List<String> mylist = jedis.lrange("mylist", 0, -1);    //范围获取
        System.out.println(mylist);                     //[c, b, a, a, b, c]
        String mylist1 = jedis.lpop("mylist");
        System.out.println(mylist1);                      //c
        String mylist2 = jedis.rpop("mylist");
        System.out.println(mylist2);                     //c
        jedis.close();
    }

Cuarto, establecer la prueba de estructura de datos

@Test
    public void Test4(){
        Jedis jedis = new Jedis();
        jedis.sadd("myset","apple","banana","cat");

        Set<String> myset = jedis.smembers("myset");
        System.out.println(myset);             //[banana, apple, cat]
        jedis.close();
    }

Cinco, prueba de estructura de datos de conjunto ordenado

@Test
    public void Test5(){
        Jedis jedis = new Jedis();
        jedis.zadd("mysortedset",3,"亚瑟");
        jedis.zadd("mysortedset",30,"后裔");
        jedis.zadd("mysortedset",55,"孙悟空");
        // sortedset 获取
        Set<String> mysortedset = jedis.zrange("mysortedset", 0, -1);
        System.out.println(mysortedset);             //[亚瑟, 后裔, 孙悟空]
        jedis.close();
    }
}

Supongo que te gusta

Origin blog.csdn.net/weixin_51418964/article/details/123168954
Recomendado
Clasificación