Maison >base de données >Redis >Parlons de la façon dont Redis implémente la sauvegarde des objets

Parlons de la façon dont Redis implémente la sauvegarde des objets

WBOY
WBOYavant
2022-08-24 09:20:383077parcourir

Apprentissage recommandé : Tutoriel vidéo Redis

Objets enregistrés Redis

Structure de données Redis

  • String——StringString——字符串
  • Hash——字典
  • List——列表
  • Set——集合
  • Sorted Set
  • Hash—— Dictionnaire

Liste——Liste

Ensemble——Ensemble

Ensemble trié——Ensemble ordonné

redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set

Enregistrer l'objet

RedisConfig .java

package com.wj.demo.config; 
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.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
 
@Configuration
public class RedisConfig {
 
    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {  
        RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();  
        template.setConnectionFactory(redisConnectionFactory);
        template.setKeySerializer(new StringRedisSerializer());
        template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
        template.setHashKeySerializer(new GenericJackson2JsonRedisSerializer());
        template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
        template.afterPropertiesSet();  
        return template;  
    }
}

  • Le test a réussi.
  • Deux façons de stocker des objets dans Redis
  • Format de données

L'identifiant utilisateur est la clé de recherche

La valeur de l'objet utilisateur stocké comprend le nom, l'âge, l'anniversaire, etc.

S'il est stocké avec une clé normale- structure de valeur, Il existe principalement les deux façons suivantes de stocker

Méthode 1 (Chaîne)

Cette méthode consiste à utiliser list ou set to store De cette façon, nous pouvons réellement obtenir l'effet souhaité, mais parce qu'à chaque fois. La modification des attributs nécessite trois étapes et la surcharge de performances est très élevée. 1. Désérialiser d'abord ; 2. Modifier ; 3. Sérialiser

Méthode 2 (hachage)

En fait, il existe deux façons d'écrire

Méthode 1 :

Cette façon d'écrire peut non seulement atteindre l'objectif, et résolu le problème de la consommation excessive de ressources, mais cela a également causé un autre problème, qui est la redondance des données d'identification de l'utilisateur

Méthode d'écriture deux :

🎜🎜Par clé (identifiant utilisateur) + champ (balise d'attribut) peut exploitez les données d'attribut correspondantes. Il n'est pas nécessaire de stocker les données à plusieurs reprises, et cela ne posera pas de problèmes de sérialisation, de réparation et de manipulation. 🎜🎜Apprentissage recommandé : 🎜Tutoriel vidéo Redis🎜🎜.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer