如何将数据从redis保存到磁盘中的文件中并读回redis
本文关键字:redis 文件 磁盘 数据 保存 | 更新日期: 2023-09-27 18:23:58
我可以在程序中写入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();
}
您想要的是Redis持久性。
您可能需要签出SAVE或BGSAVE等命令,这些命令将数据作为rdb文件转储到磁盘。这些文件稍后可以用于在启动时将数据加载到redis中
这里的问题是,您的程序要做的第一件事就是刷新整个数据库
redisClient.FlushAll();
redis保存和加载转储文件的位置在启动服务器时提供给redis的.conf文件中
$ redis-server /home/user/redis.conf
如果在没有任何.conf的情况下启动服务器,redis将从启动redis服务器的文件夹中保存并加载转储文件
$ cd /home/user/myfolder
$ redis-server
此处dump.rdb文件将被写入/home/user/myfolder/dump.rdb
要保存数据库,只需复制dump.rdb文件
你也可以看看rdd,它是一个非常灵活的工具