Explicação detalhada da configuração do Jedis

Jedi

Jedis é uma biblioteca cliente Redis para a linguagem Java, que fornece interfaces e funções para interagir com o banco de dados Redis. Ao usar o Jedis, você pode se comunicar facilmente com o Redis em seus aplicativos Java.

Jedis fornece uma API concisa, com o comando redis como nome do método, que é fácil de aprender e usar.

Aqui estão alguns usos comuns de Jedis:

  1. Conecte-se ao Redis:

    Jedis jedis = new Jedis("localhost", 6379);
    
  2. Execute o comando Redis:

    jedis.set("key", "value");
    String value = jedis.get("key");
    
  3. Operações de valor-chave:

    jedis.set("name", "John");
    String name = jedis.get("name");
    
    jedis.del("key"); // 删除键
    
    Boolean exists = jedis.exists("key"); // 检查键是否存在
    
  4. Listar operações:

    jedis.lpush("list", "item1", "item2"); // 在列表左侧插入元素
    List<String> list = jedis.lrange("list", 0, -1); // 获取列表所有元素
    
    Long len = jedis.llen("list"); // 获取列表长度
    String item = jedis.lpop("list"); // 弹出列表左侧元素
    
  5. Operação hash:

    jedis.hset("hash", "field1", "value1");
    String value = jedis.hget("hash", "field1");
    
    Map<String, String> map = jedis.hgetAll("hash"); // 获取哈希表所有字段和值
    
  6. Operações de cobrança:

    jedis.sadd("set", "member1", "member2"); // 向集合添加成员
    Set<String> set = jedis.smembers("set"); // 获取集合所有成员
    
    Boolean isMember = jedis.sismember("set", "member1"); // 检查成员是否存在于集合中
    
  7. Operações de conjunto ordenado:

    jedis.zadd("sortedset", 1.0, "member1");
    Double score = jedis.zscore("sortedset", "member1");
    
    Set<Tuple> set = jedis.zrangeWithScores("sortedset", 0, -1); // 获取有序集合的成员和分数
    

Conjunto de conexões Jedis

Não thread-safe: as instâncias Jedis não são thread-safe e vários threads compartilhando uma instância podem causar conflitos de acesso simultâneos. Para garantir a segurança do thread, um pool de conexões precisa ser usado para gerenciar múltiplas instâncias.

Configurar o pool de conexões Jedis envolve definir alguns parâmetros. A seguir estão as etapas básicas de configuração:

  1. Importe Jedis e pacotes de dependências relacionados ao pool de conexões:

    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>版本号</version>
    </dependency>
    
  2. Crie um objeto JedisPool e configure-o no código:

    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    
    // 创建连接池配置对象
    JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
    
    // 设置最大连接数
    jedisPoolConfig.setMaxTotal(100);
    
    // 设置最大空闲连接数
    jedisPoolConfig.setMaxIdle(50);
    
    // 设置最小空闲连接数
    jedisPoolConfig.setMinIdle(10);
    
    // 设置连接超时时间(毫秒)
    jedisPoolConfig.setConnectTimeout(5000);
    
    // 创建 JedisPool 对象并进行配置
    JedisPool jedisPool = new JedisPool(jedisPoolConfig, "localhost", 6379);
    

    Ao configurar os parâmetros, você pode ajustá-los de acordo com as necessidades reais. Aqui tomamos como exemplos o número máximo de conexões, o número máximo de conexões ociosas, o número mínimo de conexões ociosas e o tempo limite da conexão.

  3. Use o pool de conexões para obter uma instância Jedis para operação:

    import redis.clients.jedis.Jedis;
    
    try (Jedis jedis = jedisPool.getResource()) {
          
          
        // 使用 jedis 进行 Redis 操作
        jedis.set("key", "value");
        String result = jedis.get("key");
        System.out.println(result);
    }
    

    Ao usar o pool de conexões Jedis, jedisPool.getResource()obtenha a instância Jedis do pool de conexões por meio do método e use a estrutura try-with-resources para fechar automaticamente a conexão após o uso.

Acho que você gosta

Origin blog.csdn.net/drhnb/article/details/132186713
Recomendado
Clasificación