Jedis est un client officiellement lancé par Redis pour Java, fournissant de nombreuses interfaces pour les appels du langage Java. Il peut être téléchargé sur le site officiel de Redis. Spring-data-redis fait partie de la famille Spring. Il permet d'accéder au service Redis via une configuration simple dans l'application Srping et encapsule fortement le package de développement sous-jacent de Reids (Jedis, JRedis, et RJC). RedisTemplate fournit diverses opérations Redis
spring-data-redis fournit les fonctions suivantes pour jedis :
gestion automatique des pools de connexions et fournit une classe "RedisTemplate" hautement encapsulée
pour le client jedis. Un grand nombre d'API sont classées et encapsulées, et le même type d'opérations est encapsulé dans des interfaces d'opération
ValueOperations : opération K-V simple
SetOperations : opération de données de type set
ZSetOperations : opération de données de type zset
Hasherations. : pour les opérations de données de type carte
ListOperations : pour les opérations de données de type liste
3. Encapsulez les opérations de transaction et contrôlez les conteneurs.
4. Une variété de stratégies facultatives (RedisSerializer) sont fournies pour la « sérialisation/désérialisation » des données
JdkSerializationRedisSerializer : scénarios d'accès aux objets POJO, en utilisant le propre mécanisme de sérialisation du JDK
StringRedisSerializer : Key ou In the Scénario Where Value. est une chaîne, la séquence d'octets des données est codée dans une chaîne selon le jeu de caractères spécifié, qui est une encapsulation directe de "new String(bytes, charset)" et "string.getBytes(charset)". est la stratégie la plus légère et la plus efficace.
JacksonJsonRedisSerializer : l'outil jackson-json offre des capacités de conversion entre javabean et json. Il peut sérialiser les instances pojo au format json et les stocker au format redis, et peut également convertir les données au format json en instances pojo.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
spring: redis: host: 192.168.31.100 port: 6379 password: 111 database: 0 pool: max-active: 8 # 连接池最大连接数(使用负值表示没有限制) max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制) max-idle: 8 # 连接池中的最大空闲连接 min-idle: 0 # 连接池中的最小空闲连接 timeout: 5000ms # 连接超时时间(毫秒)
Ajoutez la configuration ci-dessus sous spring dans le fichier application.yml
.package com.ffyc.back.demo.config; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; @Configuration public class RedisConfig { /** * 序列化键,值 * @param connectionFactory * @return */ @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) { RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(connectionFactory); Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class); StringRedisSerializer redisSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(redisSerializer); redisTemplate.setHashKeySerializer(redisSerializer); redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); return redisTemplate; } }
Ajoutez cette configuration dans le package de configuration
La fonction de cette classe de configuration est de sérialiser les données à transmettre par le backend à json. S'il n'y a pas une telle configuration, le format. transmis par le backend sera différent de celui du côté redis. Respectez la situation où des caractères tronqués apparaîtront
Injectez-le là où vous devez l'utiliser. peut l'utiliser
(1)
(2)
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!