Redis ist für große Dateien nicht löschen?
Ich bin mit der Redis-server für windows ( 2.8.4 - MSOpenTech) /windows 8 64bit.
Ist es funktioniert großartig , aber auch nachdem ich laufen :
Sehe ich das : (und hier sind meine Fragen)
-
Wenn
Redis-server.exe
ist bis , ich sehe 3 große Dateien : -
Wenn
Redis-server.exe
ist unten , ich sehe 2 große Dateien :
Frage :
— Habe ich nicht einfach sagen, es zu löschen, alle DB ? also warum sind diese 2/3 riesige Dateien sind immer noch da ?
Wie kann ich die komplett löschen Sie diese Dateien? ( ohne re-generieren)
NB
Es scheint, dass es tut Löschung von Schlüsseln ohne Befreiung der besetzten Raum. wenn ja , Wie kann ich freier ungenutzter Platz?
- Wenn Sie nie wollen, dass Ihre lokalen redis schreiben auf die Festplatte, können Sie die Schritte auf diese Antwort: stackoverflow.com/a/34736871/2563028
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom https://github.com/MSOpenTech/redis/issues/83
"Redis verwendet die fork() UNIX-system-API zum erstellen von point-in-time-snapshot-Daten speichern für die Speicherung auf der Festplatte. Dies hat Auswirkungen auf die mehrere Funktionen auf Redis: AOF/RDB backup, master-slave-Synchronisation und clustering. Windows verfügt nicht über eine Gabel-ähnliche API zur Verfügung, so wir gehabt haben, dieses Verhalten zu simulieren, indem die Redis-heap in eine memory-mapped-Datei, die geteilt werden können, mit einem Kind(quasi-Gabel -) Prozess. Standardmäßig setzen wir die Größe dieser Datei entspricht der Größe des physischen Speichers. Um die Größe dieser Datei, die wir Hinzugefügt haben, einen maxheap-flag. Finden Sie die Redis.Windows.conf-Datei in den msvs\setups\Dokumentation (der auch mit der NuGet und Schokoladig-Distributionen) für Einzelheiten über die Verwendung dieser Flagge. "
flushdb
undflushall
hat nicht eine Auswirkung haben, also einfach gestoppt der Dienst die gelöschten Dateien wie jede andere Datei auf windows. Vielen Dank für den Einblick.maxmemory
.Ich weiß, dies ist ein Alter thread, aber ich bin vor die gleichen Probleme mit den Dateigrößen.
In den Fall, Sie haben Probleme mit Ihrem C-ssd-Laufwerk (wie mich), machen Sie eine directory-junction:
1) Stop-redis-service
2) Bewegen C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Redis Ordner auf ein anderes Laufwerk /Lage.
3) Öffnen Sie eine Eingabeaufforderung in C:\Windows\ServiceProfiles\NetworkService\AppData\Local dann ausführen:
mklink /J "C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Redis" "[newpath]"
PD: [newpath] müssen absolut sein, wie "D:\directory junctions\Redis"
4) Start-redis-service. Jetzt werden die Dateien in einem anderen Laufwerk.
Überprüfen http://ss64.com/nt/mklink.html wenn Zweifel hinsichtlich dieser Befehl.
Stand ich das gleiche Problem auf meinem Entwicklungsrechner. Es wurde gelöst, durch das anhalten der redis-service und ich WinDirStat (das ist, was ich verwendet, um zu erkennen, das Problem ursprünglich), um dauerhaft löschen Sie diese Dateien im appdata/local/redis.
Dann habe ich begonnen redis sichern und Dinge waren das arbeiten fein.
Bevor Sie dieses gleiche Verfahren, andere wollen, um sicherzustellen, dass diese Daten nicht erforderlich ist. In meinem Fall war es nicht kritisch, da dies meine Entwicklung workstation.
Wenn Sie Spülen Sie die DB nur Spülen Sie den Schlüssel aus dem Speicher. Ich bin mir nicht sicher, warum du hast Dateien von verschiedenen Namen, ist es möglicherweise ein Artefakt der Art und Weise der Windows-port von Redis verwaltet Dateien, aber Redis selbst nicht wenn das löschen von Dateien Sie entfernen von Schlüsseln. Sie verwalten müssen, veraltete Dateien außerhalb von Redis.