Redis Server'ı, Redis'in yazma izinlerine sahip olduğu bir dizinde başlatın
Yukarıdaki cevaplar sorununuzu kesinlikle çözecektir, ancak gerçekte olan şu:
rdb.dumpDosyayı saklamak için varsayılan konum ./(geçerli dizini gösterir). Bunu redis.confdosyanızda doğrulayabilirsiniz . Bu nedenle, redis sunucusunu başlattığınız dizin bir dump.rdbdosyanın oluşturulacağı ve güncelleneceği yerdir .
Redis sunucusunu, redis'in dump.rdbdosyayı oluşturmak için doğru izinlere sahip olmadığı bir dizinde çalıştırmaya başladığınız anlaşılıyor .
Daha da kötüsü, redis ayrıca verilerin düzgün bir şekilde kaydedilmesini sağlamak için rdb dosyasını oluşturabilene kadar sunucuyu kapatmanıza da izin vermez.
Bu sorunu çözmek için redis-cli, diranahtarı kullanarak etkin redis istemci ortamına gitmeli ve güncellemeli ve değerini proje klasörünüze veya kök olmayan kaydetme izinlerine sahip herhangi bir klasöre ayarlamalısınız. Sonra dosyanın BGSAVEoluşturulmasını çağırmak için çalıştırın dump.rdb.
CONFIG SET dir "/hardcoded/path/to/your/project/folder"
BGSAVE
(Şimdi, dump.rdb dosyasını sunucuyu başlattığınız dizine kaydetmeniz gerekiyorsa , dizinin izinlerini değiştirmeniz için redis'in ona yazabilmesi gerekir. ).
Artık redis sunucusunu kapatabilirsiniz. Yolu kodladığımızı unutmayın. Hardcoding nadiren iyi bir uygulamadır ve redis sunucusunu proje dizininizden başlatmanızı ve dir key back to. / ` Değiştirmenizi önemle tavsiye ederim .
CONFIG SET dir "./"
BGSAVE
Bu şekilde, başka bir proje için yeniden redüksiyona ihtiyaç duyduğunuzda, döküm dosyası sabit kodlu yolun proje dizininde değil, geçerli projenizin dizininde oluşturulur.