Le client adopte le dernier Jedis 2.7
1. Dépendances de maven:
<dependency> <proupId> redis.clients </proupId> <ArtefactId> Jedis </letefactId> <DERSE> 2.7.3 </ version> </Dependency>
2. Ajouter la configuration du ressort
<bean name = "genericObjectPoolConfig"> <propriété name = "maxwaitmillis" value = "- 1" /> <propriété name = "maxtotal" value = "1000" /> <propriété name = "minidle" value = "8" /> <propriété name = "maxidle" value = "100" /> </ bean> <ean id = "jedesclus name = "AddressConfig"> <value> CLASSPATH: Connect-redis.properties </value> </ propriété> <propriété name = "AddressKeyPrefix" value = "adresse" /> <! - Préfixe de la clé dans le fichier propriété -> <propriété name = "timeout" value = "300000" /> <propriété named = "maxredirection" value = "6" /> <vawamed = "property ref = "genericObjectPoolConfig" /> </ank>
3. Ajouter le fichier de configuration connect-redis.properties
6 nœuds sont configurés ici
adresse1 = *: * adresse2 = *: * adresse3 = *: * adresse4 = *: * adresse5 = *: * adresse6 = *: * adresse6 = *: *
4. Ajouter la classe Java:
Importer java.util.hashset; import java.util.properties; import java.util.set; import java.util.regex.pattern; import org.apache.commons.pool2.impl.genericObjectpoolconfig; import org.springframework.beans.factory.factoryBean; Importer; org.springframework.beans.factory.inializingbean; import org.springframework.core.io.resource; import redis.clients.jedis.hostandport; import redis.clients.jedis.jediscluster AddressKeyPreFix; Jediscluster privé Jediscluster; timeout entier privé; maxredirections entières privées; Private GenericObjectPoolConfig genericobjectpoolconfig; Private Pattern p = patron Jediscluster;} @ OverRidepublic Classe <? étend Jediscluster> getObjectType () {return (this.jedescluster! = null? this.jedescluster.getClass (): jediscluster.class);} @ overRidepublic boolean issingleton () {return true;} set privé <hospital Properties (); prop.load (this.addressConfig.getInputStream ()); set <hostandport> hasps = new HashSet <Hostandport> (); pour (clé d'objet: prop.KeySet ()) {if (! ((String) Key) .startswith (AddresskeyPrefix)) {continu;} string val = (string) prop.get (key); boolean not p.matcher (val) .matches (); if (! iSipport) {lancez new illégalargumentException ("ip ou port est illégal");} string [] ipandport = val.split (":"); hostandport hap = new hostandport (ipandport [0], Integer.Parseint (ipandport [1])); haps;} catch (illégalargumentException ex) {throw ex;} catch (exception ex) {throw exception ("Parse Jedis Configuration Fichier a échoué", ex);}} @ OverRidepublic void AfterProperESet () lève une exception {set <hostandport> hASPS = this.atshostandport (); jedesclus MaxRedirections, GenericObjectPoolConfig);} public void setAddressConfig (Resource AddressConfig) {this.AddressConfig = AddressConfig;} public void setTimeout (int timeout) {this.timeout = temporisation; setAddressKeyPreFix (String AddressKeyPreFix) {this.addressKeyPrefix = AddressKeyPreFix;} public void SetGenericObjectPoolConfig (GenericObjectPoolConfig GenericObjectPoolConfig;}} 5. La configuration est terminée à ce stade
Lorsqu'il est utilisé, injectez-le directement, comme indiqué ci-dessous:
@AutowiredJeDiscluster Jediscluster;
Résumer
Ce qui précède est toute l'explication détaillée du cluster Redis d'intégration de printemps, j'espère que cela sera utile à tout le monde. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!