Heim  >  Artikel  >  Datenbank  >  Lassen Sie uns darüber sprechen, wie Redis das Speichern von Objekten implementiert

Lassen Sie uns darüber sprechen, wie Redis das Speichern von Objekten implementiert

WBOY
WBOYnach vorne
2022-08-24 09:20:383021Durchsuche

Empfohlenes Lernen: Redis-Video-Tutorial

Redis-gespeicherte Objekte

Redis-Datenstruktur

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

Liste – – Liste

Satz – – Satz

Sortierter Satz – – Geordneter Satz

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

Objekt speichern

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;  
    }
}

  • Der Test war erfolgreich.
  • Zwei Möglichkeiten zum Speichern von Objekten in Redis
  • Datenformat

Die Benutzer-ID ist der Suchschlüssel

Der gespeicherte Wert des Benutzerobjekts umfasst Name, Alter, Geburtstag usw.

Wenn es mit einem normalen Schlüssel gespeichert wird- WertestrukturEs gibt hauptsächlich die folgenden zwei Möglichkeiten zum Speichern:

Methode 1 (String)

Diese Methode besteht darin, die Liste oder die Einstellung zum Speichern zu verwenden. Auf diese Weise können wir tatsächlich den gewünschten Effekt erzielen, aber jedes Mal Das Ändern von Attributen erfordert drei Schritte und der Leistungsaufwand ist sehr hoch. 1. Zuerst deserialisieren; 2. Ändern; 3. Serialisieren

Methode 2 (Hash)

Eigentlich gibt es zwei Möglichkeiten zu schreiben

Weg 1:

Diese Schreibweise kann nicht nur das Ziel erreichen, und löste das Problem des übermäßigen Ressourcenverbrauchs, verursachte aber auch ein anderes Problem, nämlich die Redundanz der Benutzer-ID-Daten

Schreibmethode zwei:

🎜🎜Durch Schlüssel (Benutzer-ID) + Feld (Attribut-Tag) kann Die entsprechenden Attributdaten müssen nicht wiederholt gespeichert werden, und es treten keine Probleme bei der Serialisierung, Reparatur und Manipulation auf. 🎜🎜Empfohlenes Lernen: 🎜Redis-Video-Tutorial🎜🎜

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Redis das Speichern von Objekten implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen