windows - instalar - Los enormes archivos de Redis no se borrarán?
redis windows tutorial (4)
Cuando se descarga la base de datos solo se borran las teclas de la memoria. No estoy seguro de por qué tiene archivos de nombres diferentes, puede ser un artefacto de la forma en que el puerto de Redis de Windows administra los archivos, pero Redis no elimina los archivos cuando elimina las claves. Deberá administrar los archivos desactualizados fuera de Redis.
Estoy usando Redis-server para Windows ( 2.8.4 - MSOpenTech ) / Windows 8 64bit.
Está funcionando muy bien, pero incluso después de correr:
Veo esto: (y aquí están mis preguntas)
Cuando
Redis-server.exe
está activo , veo 3 archivos grandes :Cuando
Redis-server.exe
está inactivo , veo 2 archivos grandes :
Pregunta:
- ¿No lo acabo de decir para borrar todos los DB? Entonces, ¿por qué esos 2/3 archivos enormes todavía están allí? ¿Cómo puedo borrar por completo esos archivos? (sin volver a generar)
NB Parece que está haciendo la eliminación de claves sin liberar espacio ocupado. Si es así, ¿cómo puedo liberar este espacio no utilizado?
Desde https://github.com/MSOpenTech/redis/issues/83 "Redis usa la bifurcación () de la API del sistema UNIX para crear una instantánea de un punto en el tiempo del almacén de datos para el almacenamiento en disco. Esto afecta varias funciones en Redis : Copia de seguridad AOF / RDB, sincronización maestro-esclavo y agrupación en clústeres. Windows no tiene una API de tipo horquilla disponible, por lo que hemos tenido que simular este comportamiento al colocar el montón Redis en un archivo asignado en memoria que se puede compartir con un hijo Proceso (cuasi bifurcado). De manera predeterminada, configuramos el tamaño de este archivo para que sea igual al tamaño de la memoria física. Para controlar el tamaño de este archivo, hemos agregado un indicador maxheap. Consulte el archivo Redis.Windows.conf en msvs / setups / documentation (también se incluye con las distribuciones NuGet y Chocolatey) para obtener detalles sobre el uso de esta bandera ".
Me enfrenté a este mismo problema en mi máquina de desarrollo. Se resolvió al detener el servicio redis y utilicé WinDirStat (que es el que usé para detectar el problema originalmente) para eliminar permanentemente estos archivos en appdata / local / redis.
Entonces empecé a volver a hacer copias y las cosas estaban funcionando bien.
Antes de seguir este mismo procedimiento, es posible que otros deseen asegurarse de que esta información no sea necesaria. En mi caso no fue crítico ya que esta es mi estación de trabajo de desarrollo.
Sé que este es un hilo antiguo, pero estoy enfrentando los mismos problemas con el tamaño de los archivos.
En caso de que tenga problemas con su unidad C ssd (como yo), puede hacer una conexión de directorio:
1) Detener servicio redis.
2) Mueva la carpeta C: / Windows / ServiceProfiles / NetworkService / AppData / Local / Redis a otra unidad / ubicación.
3) Abra un indicador de comando en C: / Windows / ServiceProfiles / NetworkService / AppData / Local y luego ejecute:
mklink / J "C: / Windows / ServiceProfiles / NetworkService / AppData / Local / Redis" "[newpath]"
PD: [newpath] debe ser absoluta, como "D: / directory junctions / Redis"
4) Iniciar servicio redis. Ahora los archivos están en otra unidad.
Consulte http://ss64.com/nt/mklink.html si tiene dudas con respecto a este comando.