Préface
Les étudiants qui ont travaillé dans de grands systèmes logiciels savent que les données du système deviennent plus grandes et plus complexes, le problème qui s'accompagne des performances du système pire, en particulier la perte de performances causée par le fonctionnement fréquent de la base de données est plus grave. De nombreux bigwigs ont proposé de nombreuses solutions et développé de nombreux cadres pour optimiser les pertes de performances causées par des bases de données de fonctionnement fréquentes. Parmi eux, les deux serveurs de cache particulièrement proéminents sont memcached et redis. Aujourd'hui, nous ne parlerons pas de Memcached et de se redre. Ici, nous présenterons principalement le contenu pertinent de l'intégration de Spring et Redis. Je ne dirai pas beaucoup ci-dessous, jetons un coup d'œil à l'introduction détaillée ensemble.
La méthode est la suivante
La première étape consiste à ajouter le code POM de Redis au projet:
<dependency> <proupId> redis.clients </proupId> <ArtefactId> Jedis </retifactid> <version> 2.6.0 </-version> </Dependency>
La deuxième étape consiste à charger le fichier de configuration redis dans le printemps: applicationContext-redis.xml, le contenu est le suivant
<bean id = "PoolConfig"> <propriété name = "maxtotal" value = "$ {redis.maxtotal}" /> </ bean> <ean> <constructor-arg index = "0" ref = "poolconfig" /> <constructor-arg index = "1"> <sthot> <any> <constructor-arg index = "0" value = "$ {redis.node1. <constructor-arg index = "1" value = "$ {redis.node1.port}" /> </ bean> </sist> </racitor-arg> </ank> </bans>La troisième étape consiste à écrire le fichier de propriété se connectant au serveur redis: redis.properties
redis.maxtotal = 100redis.node1.host = 127.0.0.1redis.node1.port = 6379
Étape 4: Écrivez la classe de méthode d'opération pertinente, la classe de fonction et la classe de redéviron de redis:
Classe Funcrion:
Package XX.Service; / ** * Afin d'extraire le même code d'opération * @author yeying * <p> Description: </p> * <p> Company: </p> * @Date: 5 décembre 2017 à 9:02:44 PM * / Fonction d'interface publique <T, E> {Public T Rappel T (E);}Classe de redevrage:
Package com.taotao.common.service; import org.springframework.beans.factory.annotation.autowired; import org.springframework.sterreotype.service; import redis.clients.jedis.shardedjedis; importer redis.clients.Jedis.shardedJedisool; / ** * orients lié à Redis * @ahoror yeying * <p> Description: </p> * <p> Company: </p> * @Date: 3 décembre 2017 à 14:11:47 PM * / @ ServicePublic Class Redisservice {@autowired (requis = false) // doit injecter un Shardjedispool privé ShardedJedispool; privé <T> T EXECUTER (fonction <T, Shardedjedis> Fun) {Shardedjedis shardedjedis = null; Essayez {// Obtenez l'objet Shardé Jedis à partir du pool de connexion Shardedjedis = ShardedjeDispool.getResource (); // Obtenez les données de Redis Return fun.callback (Shardedjedis); } catch (exception e) {e.printStackTrace (); } Enfin {if (null! = Shardedjedis) {// Fermez, détectez si la connexion est valide, remettez-la dans le pool de connexion et réinitialisez le statut s'il est invalide, Shardedjedis.close (); }} return null; } / ** * Exécuter l'opération de set * @param key * @param value * @return * / public String set (Final String Key, final String Value) {return this.execute (nouvelle fonction <String, Shardedjedis> () {@Override public String Callback (Shardedjedis e) {return E.Set (clé, valeur);}}); } / ** * effectuer une opération définie et définir le temps de survie en secondes * @param key * @param value * @param secondes * @return * / public String set (Final String Key, final string Value, final Integer Seconds) {return this.execute (nouvelle fonction <String, Shardedjedis> () {@Override Public Callback (ShardedJedis e) {String Str = E.Set); E.Expire (Key, secondes); } / ** * Effectif Get Operation * @param Key * @return * / public String get (Final String Key) {return this.execute (nouvelle fonction <String, Shardedjedis> () {@Override public String Callback (Shardedjedis e) {return e.get (key);}}); } / ** * Effectuer l'opération de set * @param key * @return * / public long del (Final String key) {return this.execute (nouvelle fonction <long, shardedjedis> () {@Override public long callback (shardedjedis e) {return e.del (key);}}); } / ** * Définissez le temps de survie en secondes * @param key * @param secondes * @return * / public long expire (Final String Key, final Integer Seconds) {@Override public long callback (shardedjedis e) {return e.expire (key, seconds);}}); }}); }}Étape 5: Démarrez le service redis, redis-server.exe et double-cliquez pour ouvrir:
Résumer
Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article a une certaine valeur de référence pour l'étude ou le travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer. Merci pour votre soutien à wulin.com.