Heim  >  Artikel  >  Datenbank  >  So stellen Sie sicher, dass alle Hot-Daten in Redis vorhanden sind

So stellen Sie sicher, dass alle Hot-Daten in Redis vorhanden sind

(*-*)浩
(*-*)浩Original
2019-11-28 09:45:373543Durchsuche

So stellen Sie sicher, dass alle Hot-Daten in Redis vorhanden sind

Wenn der von Redis verwendete Speicher den festgelegten maximalen Speicher überschreitet, wird der Schlüsseleliminierungsmechanismus von Redis ausgelöst. Es gibt 6 Eliminierungsstrategien in Redis 3.0:

noeviction: Keine Löschrichtlinie. Wenn das maximale Speicherlimit erreicht ist und mehr Speicher verwendet werden muss, wird direkt eine Fehlermeldung zurückgegeben. (Standard-Eliminierungsstrategie von Redis)

allkeys-lru: Priorisieren Sie das Löschen des zuletzt verwendeten (LRU) Schlüssels unter allen Schlüsseln. (Empfohlenes Lernen: Redis-Video-Tutorial)

allkeys-random: Löschen Sie zufällig einige Schlüssel unter allen Schlüsseln.

volatile-lru: Priorisieren Sie das Löschen des zuletzt verwendeten Schlüssels (LRU) unter den Schlüsseln mit festgelegtem Timeout (Ablauf).

volatile-random: Löschen Sie zufällig einige Schlüssel unter den Schlüsseln mit einem festgelegten Timeout (Ablauf).

volatile-ttl: Priorisieren Sie das Löschen von Schlüsseln mit einer kurzen verbleibenden Zeit (Time to Live, TTL) unter Schlüsseln mit festgelegtem Timeout (Ablauf).

Szenario:

Es gibt 10 Millionen Daten in der Datenbank, aber nur 500.000 Daten in Redis. So stellen Sie sicher, dass die 100.000 Daten in Redis heiße Daten sind ?

Lösung:

Begrenzen Sie den von Redis belegten Speicher und lassen Sie gemäß seiner eigenen Dateneliminierungsstrategie heiße Daten im Speicher. Berechnen Sie also den ungefähren Speicher, der von 50-W-Daten belegt wird, legen Sie dann das Redis-Speicherlimit fest und stellen Sie die Eliminierungsstrategie auf volatile-lru oder allkeys-lru ein.

Legen Sie den maximalen von Redis belegten Speicher fest:

Öffnen Sie die Redis-Konfigurationsdatei und legen Sie den Parameter maxmemory auf den Bytetyp

# In short... if you have slaves attached it is suggested that you set a lower
# limit for maxmemory so that there is some free RAM on the system for slave
# output buffers (but this is not needed if the policy is 'noeviction').
#
# maxmemory <bytes>
maxmemory 268435456

fest Ablaufrichtlinie festlegen:

maxmemory-policy volatile-lru

Weitere technische Artikel zu Redis finden Sie in der Spalte Redis Getting Started Tutorial, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonSo stellen Sie sicher, dass alle Hot-Daten in Redis vorhanden sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn