Prefacio
Los estudiantes que han trabajado en grandes sistemas de software saben que a medida que los datos del sistema se vuelven más grandes y más complejos, el problema que viene con el peor rendimiento del sistema, especialmente la pérdida de rendimiento causada por la operación frecuente de la base de datos es más grave. Muchos BigWigs han propuesto muchas soluciones y han desarrollado muchos marcos para optimizar las pérdidas de rendimiento causadas por bases de datos operativas frecuentes. Entre ellos, los dos servidores de caché particularmente prominentes son Memcached y Redis. Hoy, no hablaremos de Memcached y Redis en sí. Aquí presentaremos principalmente el contenido relevante de la integración de Spring y Redis. No diré mucho a continuación, echemos un vistazo a la introducción detallada juntos.
El método es el siguiente
El primer paso es agregar el código POM de Redis al proyecto:
<Spendency> <MoupRoD> Redis.Clients </GroupId> <SartifactId> JEDIS </artifactid> <versión> 2.6.0 </versión> </pendency>
El segundo paso es cargar el archivo de configuración de Redis en Spring: ApplicationContext-Redis.xml, el contenido es el siguiente
<Bean id = "PoolConfig"> <Property Name = "Maxtotal" value = "$ {redis.maxtotal}" /> < /bean> <Bean> <Constructor-arg index = "0" ref = "PoolConfig" /> <Scuctor-arg index = "1"> <And> <Bean> <Constructor-Arg index = "0" Value = "$ {REDADIS /> <constructor-arg index = "1" value = "$ {redis.node1.port}"/> </bean> </list> </constructor-arg> </le bean> </beans>El tercer paso es escribir el archivo de propiedades que se conecta al servidor Redis: Redis.Properties
Redis.MaTTOTAL = 100REDIS.NODE1.HOST = 127.0.0.1REDIS.NODE1.PORT = 6379
Paso 4: Escriba la clase de método de operación relevante, clase de función y clase RedisService de Redis:
Clase de fondos:
paquete xx.service;/** * Para extraer el mismo código de operación * @author Yeying * <p> Descripción: </p> * <p> Company: </p> * @Date: 5 de diciembre de 2017 a las 9:02:44 pm */función de interfaz pública <T, e> {public t public t (e e);}Clase de rediservicio:
paquete com.taotao.common.service; import org.springframework.beans.factory.annotation.auTowired; import org.springframework.stereotype.service; import redis.clients.jedis.shardedJedis; import roedis.clients.jedis.shardedjedjedjededjedjededjededjedeS *<p> Descripción: </p> *<p> Compañía: </p> *@Date: 3 de diciembre de 2017 a las 2:11:47 pm */ @ServicePublic Class RedisService {@AUTOWIRED (requerido = falso) // Necesita inyectar fragmento privado shardedjedispool ShardedJedispool; Private <T> t ejecute (function <t, shardedjedis> diversión) {shardedjedis shardedjedis = null; Pruebe {// Obtenga el objeto Jedis fragmentado desde el grupo de conexión Shardedjedis = shardedjedispool.getResource (); // Obtener los datos de Redis Return Fun.Callback (ShardedJedis); } catch (Exception e) {E.PrintStackTrace (); } Finalmente {if (null! = shardedjedis) {// cerrar, detectar si la conexión es válida, volver a colocarla en el grupo de conexión y restablecer el estado si no es válido, shardedjedis.close (); }} return null; } / ** * Ejecutar la operación establecida * @param Key * @param valor * @return * / public string set (tecla de cadena final, valor de cadena final) {return this.exCute (nueva función <string, shardedJedis> () {@Override public String Callback (ShardedJedis e) {return E.Set (Key, valor);}); } / ** * Realice una operación establecida y establezca el tiempo de supervivencia en segundos * @param Key * @param valor * @param segundos * @return * / public string set (tecla de cadena final, valor final de cadena, segundos enteros finales) {return this.ExeCute (new function <string <string, shardedJedis> () {@override public string Callback (shededJedis e) {string str = str = str = str. E.EXPIRE (clave, segundos); } / ** * realizar la operación get * @param clave * @return * / public string get (tecla de cadena final) {return this.exCute (nueva función <string, shardedJedis> () {@Override public String Callback (ShardedJedis e) {return e.get (clave);}}); } / ** * Realizar Operación establecida * @param clave * @return * / public long del (tecla de cadena final) {return this.execute (nueva función <long, shardedjedis> () {@Override public Long Callback (ShardedJedis e) {return e.del (clave);}}); } / ** * Establezca el tiempo de supervivencia en segundos * @param clave * @param segundos * @return * / public long expire (tecla de cadena final, segundos enteros finales) {return this.execute (nueva función <long, shardedjedis> () {@override public villet (shardedJededis e) {return E.Expire (clave, segundo);});};};}); }}); }}Paso 5: Inicie el servicio Redis, redis-server.exe y haga doble clic para abrir:
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.