Maison  >  Article  >  base de données  >  Application pratique de Redis en Java

Application pratique de Redis en Java

WBOY
WBOYoriginal
2023-05-11 08:34:521154parcourir

Application pratique de Redis en Java

Avec le développement rapide d'Internet et des technologies de l'information, une grande quantité de données et d'applications doivent être stockées, traitées et accessibles. Dans ce contexte, Redis, en tant que base de données à mémoire distribuée performante et fiable, est progressivement devenue l'une des compétences nécessaires aux développeurs Java. Cet article présentera l'application réelle de Redis en Java, y compris l'utilisation de structures de données, la mise en œuvre de pools de connexions, la construction de clusters et des cas de scénarios d'application.

1. Utilisation de structures de données

Redis a une structure de données très riche, comprenant String, List, Set, Sorted Set, Hash et HyperLogLog, etc. Ce qui suit décrit comment l'utiliser en Java.

  1. String

    String est le type de données le plus basique de Redis. Vous pouvez définir une clé et la valeur correspondante.

    Jedis jedis = new Jedis("localhost", 6379);

    jedis.set("name", "Tom");

    String name = jedis.get("name");

  2. List

List est une collection ordonnée qui stocke plusieurs éléments et peut être ajoutée, supprimée et interrogée en fonction de la valeur de l'index.

jedis.lpush("list", "a", "b", "c");

jedis.rpush("list", "d", "e", "f");

List10561f52a538bad7dc0ea5defc38baab list = jedis.lrange("list", 1, 3);

  1. Set

Set est un ensemble non ordonné qui n'autorise pas l'existence d'éléments en double.

jedis.sadd("set", "a", "b", "c", "d");

jedis.srem("set", "a");

Setf7e83be87db5cd2d9a8a0b8117b38cd4 jedis.smembers("set");

  1. Sorted Set

Sorted Set est un ensemble ordonné. Chaque élément a un score et peut être trié en fonction du score.

jedis.zadd("sortedset", 5, "a");

jedis.zadd("sortedset", 10, "b");

jedis.zrem("sortedset", "a");

Setf7e83be87db5cd2d9a8a0b8117b38cd4 sortedset = jedis.zrange("sortedset", 0, -1);

  1. Hash

Hash est une structure de stockage de paires clé-valeur qui peut stocker plusieurs attributs et valeurs correspondantes.

jedis.hset("hash", "name", "Tom");

jedis.hset("hash", "age", "20");

String name = jedis.hget("hash" , "name");

  1. HyperLogLog

HyperLogLog est un algorithme de base utilisé pour compter le nombre d'éléments, qui peut être effectué sans enregistrer la valeur d'origine.

jedis.pfadd("hll", "a", "b", "c");

long count = jedis.pfcount("hll");

Mise en œuvre du pool de connexion

Afin de garantissant une concurrence élevée et des performances élevées, les clients Redis Java utilisent généralement des pools de connexions pour gérer les connexions. Nous prenons ici Jedis comme exemple pour présenter la méthode d'implémentation du pool de connexions.

JedisPoolConfig poolConfig = new JedisPoolConfig();

poolConfig.setMaxIdle(10);

poolConfig.setMaxTotal(20);

poolConfig.setMaxWaitMillis(1000);

JedisPool jedisPool = new JedisPool(poolConfig, "localhost" , 6379);

Jedis jedis = null;

essayez {

jedis = jedisPool.getResource();

...

} enfin {

if (jedis != null) {

  jedis.close();

}

jedisPool.close();

}

3 Construction de cluster

Lorsque la quantité de données atteint une certaine échelle, une seule instance Redis ne peut plus. pour répondre à la demande, vous devez créer un cluster Redis. Redis fournit officiellement le mode Cluster pour la construction de clusters. Plusieurs instances Redis sont démarrées pour former un cluster afin d'obtenir une haute disponibilité des données et un équilibrage de charge. Voici une introduction à la façon de créer le mode Cluster.

redis-cli --cluster create node1:6379 node2:6379 node3:6379

Démarrez 3 instances Redis respectivement avec les numéros de port 6379. Utilisez la commande redis-cli pour former un cluster.

4. Cas de scénarios d'application

  1. Caching

Redis peut être utilisé comme cache pour améliorer la vitesse d'accès. Le stockage de certaines données fréquemment consultées dans Redis peut réduire la pression d'accès sur la base de données et améliorer les performances du système.

  1. Verrouillage distribué

Redis peut implémenter des verrous distribués pour éviter les problèmes causés par plusieurs processus accédant à la même ressource en même temps et améliorer la stabilité et la fiabilité du système.

  1. Counter

Redis peut être utilisé comme compteur. La valeur du compteur peut être incrémentée ou décrémentée, et les opérations simultanées sont prises en charge.

  1. Queue

Redis peut être utilisé comme file d'attente, prend en charge les modes producteur et consommateur et fournit plusieurs méthodes d'implémentation de file d'attente.

Résumé :

Cet article présente l'application réelle de Redis en Java, y compris l'utilisation de structures de données, la mise en œuvre de pools de connexions, la construction de clusters et les cas de scénarios d'application. Grâce aux fonctions puissantes de Redis et aux riches fonctions de bibliothèque de Java, nous pouvons rapidement créer un système d'applications distribuées hautes performances et haute fiabilité et améliorer l'efficacité et l'évolutivité du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn