Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Redis mit Resque und Rails:ERR-Befehl nicht zulässig, wenn verwendeter Speicher> 'maxmemory'

Diese Nachricht wird zurückgegeben, wenn das maximale Speicherlimit erreicht wurde. Sie können das aktuelle Limit mit dem folgenden Befehl überprüfen:

redis 127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "128000000"

Das Ergebnis ist in Bytes.

Bitte beachten Sie, dass eine leere Redis-Instanz etwa 710 KB Arbeitsspeicher (unter Linux) verwendet. Wenn Sie also planen, nur 1 MB nützliche Daten zu speichern und dieses Limit durchzusetzen, müssen Sie 1734 KB im Parameter maxmemory festlegen. In der Konfigurationsdatei ist die maxmemory-Einstellung in Byte angegeben, außer wenn Sie ein K,M,G-Suffix verwenden.

Redis speichert alles im Speicher (es verschüttet niemals Daten auf der Festplatte), sodass der gesamte Inhalt Ihrer Resque-Warteschlangen passen muss. Ein paar MB scheinen für eine Resque-Engine sehr wenig zu sein.

Sie haben nicht angegeben, welche Heroku-Option Sie ausgewählt haben, aber meines Wissens nach beträgt das Limit für die Redis To Go-Nano-Option (die kostenlose) 5 MB.