2013-07-19 95 views
1

我可以寫的Redis並從中讀取程序如何將數據從redis保存到磁盤中的文件並讀回redis?

然而,接近服務器後,我想從內存中被刪除的數據

如何使保存到磁盤,下一次我打開redis的數據redis這樣

它可以打開數據,讓控制檯程序讀取它嗎?

如果我的計算機重新啓動本身由於突然斷電,可以Redis的恢復狀況和

讓程序可以讀取以前的數據?

static void Main(string[] args) 
     { 
      RedisClient redisClient = new RedisClient("localhost"); 
      redisClient.FlushAll(); 

      var redisTodos = redisClient.As<Todo>();; 
      Todo todo1 = new Todo(); 
      todo1.Content = "wind"; 
      todo1.Id = redisTodos.GetNextSequence(); 
      todo1.Order = 1; 
      todo1.Done = false; 

      redisTodos.Store(todo1); 
      var savedTodo = redisTodos.GetById(todo1.Id); 
      var allTodos = redisTodos.GetAll(); 
      foreach(var i in allTodos) 
      { 
       Console.WriteLine(i.Content); 
      } 
      Console.ReadKey(); 
     } 

回答

1

你在找什麼是Redis Persistance

您可能想要簽出如SAVEBGSAVE這樣的命令,將數據轉儲到磁盤作爲rdb文件。這些文件以後可以用於將數據加載到的Redis在啓動時

0

這裏的問題,你的程序做的第一件事就是刷新完整的數據庫

redisClient.FlushAll(); 

其中Redis的保存和載入他的轉儲文件的地方.conf文件中給定的,當你啓動服務器

$ redis-server /home/user/redis.conf 

如果你一開始沒有任何的.conf服務器在您啓動redis的服務器來的Redis,Redis的保存並加載從文件夾中轉儲文件

$ cd /home/user/myfolder 
$ redis-server 

這裏dumb.rdb文件將被所著到/home/user/myfolder/dump.rdb

用於保存分貝,只複製dump.rdb文件

你也可以看看在rdd誰是一個非常靈活的工具