Memcached LRU und Ablaufdatum

8

Wenn ein Element in memcached so eingestellt ist, dass es niemals abläuft, ist es von der LRU-Räumung ausgenommen?

Die Dokumente, die ich gesehen habe, zeichnen kein klares Bild darüber, welches Vorrang hat. Meiner Meinung nach wäre es ideal (vielleicht intern sehr kompliziert), dass LRU nur auf Items angewendet wird, die einen Ablauf & gt; 0.

    
Mark 10.02.2011, 20:29
quelle

2 Antworten

16

Nein, es ist nicht ausgenommen. Memcached ist ein Cache, kein persistenter Speicher. Jedes Element darin oder der gesamte Cache selbst kann jederzeit verschwinden (aber es ist nicht wahrscheinlich, es sei denn, es ist voll, oder es gibt ein großes Problem).

Unter starkem Speicherdruck wird der LRU-Algorithmus alles entfernen, was er für nötig hält.

  

Was ist der Cache von memcached?

     

Die Cache-Struktur ist eine LRU (Least Recently Used) und Ablauftimeouts. Wenn Sie Elemente in memcached speichern, können Sie angeben, wie lange sie im Cache gültig sein sollen. Was für immer oder irgendwann in der Zukunft ist. Wenn der Server nicht über genügend Arbeitsspeicher verfügt, werden zuerst die abgelaufenen Platten ausgetauscht und dann die ältesten nicht verwendeten Platten.

Wenn das System keine Bereiche mit abgelaufenen Daten hat, wird der zuletzt verwendete Block (Platte) des Speichers weggeworfen.

    
Alister Bulman 10.02.2011, 20:56
quelle
3

Das Dokument sagte, dass expirezero_does_not_evict auf "true" gesetzt ist ', Artikel mit 0 exptime können nicht geräumt werden.

    
andy 18.04.2016 10:37
quelle

Tags und Links