【问题标题】:how to save data from redis to a file in disk and read back to redis?如何将数据从redis保存到磁盘中的文件并读回redis?
【发布时间】:2013-07-23 04:54:20
【问题描述】:

我可以写入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();
        }

【问题讨论】:

    标签: c# redis


    【解决方案1】:

    你要找的是Redis Persistance

    您可能想要检查诸如SAVEBGSAVE 之类的命令,它们将数据作为rdb 文件转储到磁盘。这些文件稍后可用于在启动时将数据加载到 redis 中

    【讨论】:

      【解决方案2】:

      这里的问题是你的程序做的第一件事就是刷新整个数据库

      redisClient.FlushAll();
      

      redis保存和加载他的dump文件的地方在启动服务器时给redis的.conf文件中

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

      如果您在没有任何 .conf 的情况下启动服务器,redis 将从您启动 redis-server 的文件夹中保存并加载转储文件

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

      这里的dumb.rdb文件会被写入/home/user/myfolder/dump.rdb

      为了保存数据库,只需复制 dump.rdb 文件

      你也可以看看rdd,他是一个非常灵活的工具

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-12
        • 2012-08-16
        • 1970-01-01
        • 1970-01-01
        • 2010-10-26
        • 1970-01-01
        • 2022-10-30
        • 2020-01-25
        相关资源
        最近更新 更多