Operación Jedis Redis, clase de herramienta de grupo de conexiones Jedis

Introducción de Jedis

Redis no solo puede usar comandos para operar, sino que ahora, básicamente, los lenguajes convencionales tienen soporte API, como Java, C #, C ++, PHP, Node.js, Go, etc. Algunos clientes de Java se enumeran en el sitio web oficial, incluidos Jedis, Redisson, Jredis, JDBC-Redis, etc. Entre ellos, se recomiendan oficialmente Jedis y Redisson.

Para usar Jedis, necesita importar el paquete jar

Inserte la descripción de la imagen aquí
Enlace: https://pan.baidu.com/s/1zuVLD-8VO6v08dCMF8TfyA
Código de extracción: xe81 Después de
copiar este contenido, abra la aplicación de teléfono móvil Baidu Netdisk , la operación es más conveniente

Métodos comunes de la clase Jedis

Nota: Cada método es el nombre del comando en redis y los parámetros del método son los parámetros del comando. Cada objeto Jedis es similar al objeto Connection en JDBC.
Inserte la descripción de la imagen aquí

Para obtener comandos específicos, consulte otro artículo mío: Descripción general de Redis y comandos comunes
https://blog.csdn.net/RookiexiaoMu_a/article/details/89609874

Caso : Utilice el método anterior de Jedis para acceder a Redis, escriba la cadena y el tipo de lista en el servidor y llévelo a la consola de impresión.

import redis.clients.jedis.Jedis;

import java.util.List;

/*
使用Jedis的方法来访问Redis,向服务器中写入字符串和list类型,并且取出打印控制台上
 */
public class Demo1 {
    
    

    public static void main(String[] args) {
    
    
        //1. 创建连接Jedis
        //参数:主机名或IP地址, 端口号
        Jedis jedis = new Jedis("localhost", 6379);
        //2. 通过jedis对象中方法向服务器写入字符串的类型
        jedis.set("person","张三");
        //3. 通过jedis对象中方法向服务器写入list的类型
        jedis.lpush("cities","广州","上海","东莞");
        //4. 通过方法取出字符串和list打印
        String person = jedis.get("person");
        List<String> cities = jedis.lrange("cities", 0, -1);
        System.out.println(person);
        System.out.println(cities);
        //5. 关闭jedis连接
        jedis.close();
    }
}

El concepto básico del grupo de conexiones Jedis

Inserte la descripción de la imagen aquí
La creación y destrucción de los recursos de conexión jedis consume rendimiento del programa, por lo que jedis nos proporciona la tecnología de grupo de conexiones jedis. Cuando se crea el grupo de conexiones jedis, algunos objetos de conexión se inicializan y almacenan en el grupo de conexiones. necesita crearlo usted mismo. El objeto jedis en su lugar obtiene un recurso del grupo de conexiones para realizar operaciones de redis. Después de su uso, no es necesario destruir el recurso de conexión jedis, sino devolver el recurso al grupo de conexiones para otras solicitudes.

API de grupo de conexiones Jedis

Inserte la descripción de la imagen aquí
Caso : use el grupo de conexiones para optimizar la operación de jedis, obtenga un objeto Jeids creado del grupo de conexiones y use este objeto Jedis. Escriba una colección de conjuntos en la base de datos de Redis y elimine la colección. Imprima en la consola y vea la información en la base de datos.

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.Set;

/*
1. 使用连接池优化jedis操作,从连接池中得到一个创建好的Jeids对象,并且使用这个Jedis对象。
2. 向Redis数据库写入一个set集合,并且取出集合。打印到控制台,并且查看数据库中信息。
 */
public class Demo2 {
    
    

    public static void main(String[] args) {
    
    
        //1. 创建配置对象,指定2个参数:最大连接数,最长等待时间
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(10);
        config.setMaxWaitMillis(2000);  //毫秒
        //2. 创建连接池:指定3个参数:上面的配置对象,主机名,端口号
        JedisPool pool = new JedisPool(config, "localhost", 6379);
        //3. 从连接池中得到连接Jedis对象: getResource()
        Jedis jedis = pool.getResource();

        //4. 向redis中写入一个set集合: sadd
        jedis.sadd("students","白骨精","孙悟空","猪八戒");
        //5. 从redis中取出这个set集合打印出来: smembers
        Set<String> students = jedis.smembers("students");
        System.out.println(students);
        //6. 关闭jedis
        jedis.close();
    }

}

Clase ResourceBundle

Utilice ResourceBundle para leer archivos de configuración
Inserte la descripción de la imagen aquí

//1. 得到ResourceBundle类
ResourceBundle bundle = ResourceBundle.getBundle("jedis");
//2. 调用getString("键")得到值
String host = bundle.getString("host");

Caso: escribir la clase de herramienta de grupo de conexiones jedis

Pasos de escritura:

  1. Utilice ResourceBundle para leer archivos de configuración
  2. Cree el objeto de configuración del grupo de conexiones de Jedis y especifique los parámetros
  3. Crear un objeto de grupo de conexiones
  4. Escribe un método para obtener el objeto Jedis.

JedisUtils.java

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.ResourceBundle;

/*
工具类:
1. 简化得到连接代码
2. 修改配置更加方便
 */
public class JedisUtils {
    
    

    //定义成全局的变量
    private static JedisPool pool;

    //在类加载的时候就创建连接池
    static  {
    
    
        //读取所有的配置参数
        ResourceBundle bundle = ResourceBundle.getBundle("jedis");
        String host = bundle.getString("host");
        int maxTotal = Integer.parseInt(bundle.getString("maxTotal"));
        int maxWaitMillis = Integer.parseInt(bundle.getString("maxWaitMillis"));
        int port = Integer.parseInt(bundle.getString("port"));

        //1. 创建配置对象,指定2个参数:最大连接数,最长等待时间
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(maxTotal);
        config.setMaxWaitMillis(maxWaitMillis);  //毫秒
        //2. 创建连接池:指定3个参数:上面的配置对象,主机名,端口号
        pool = new JedisPool(config, host, port);
    }

    /**
     得到连接对象
     @return
     */
    public static Jedis getJedis() {
    
    
        //3. 从连接池中得到连接Jedis对象: getResource()
        return pool.getResource();
    }
}

Supongo que te gusta

Origin blog.csdn.net/RookiexiaoMu_a/article/details/89614277
Recomendado
Clasificación