【问题标题】:Where does Redis store the dataRedis 将数据存储在哪里
【发布时间】:2015-06-23 21:30:46
【问题描述】:

我将 redis 用于发布/订阅以及服务器端缓存。我的意思是我的应用服务器将 redis 服务器作为一个进程运行(也用作缓存)。我有几个瘦客户端(运行 redis 客户端)以发布/订阅模式连接到此应用服务器。我想知道redis在哪里存储缓存数据?单独在服务器中,或者在客户端中也会有一个副本。如果有近 100 个 redis 客户端通过 pub/sub 通道连接到服务器,那么以这种方式使用 Redis 也是一个好主意。

谢谢

【问题讨论】:

标签: caching redis scalability hazelcast


【解决方案1】:

您可以通过config command 解决这个问题。

redis-cli config get dir

但据我所知,发布/订阅数据是易失性的,根本不会存储或缓存在 redis 中。如果需要,您应该寻找专用的消息代理,例如 RabbitMQ。

【讨论】:

    【解决方案2】:

    在我的 Ubuntu 上,它位于 /var/lib/redis/dump.rdb。在我的 macOS(通过 brew 安装)上,它位于 /usr/local/var/db/redis/dump.rdb

    【讨论】:

      【解决方案3】:

      默认位置

      /var/lib/redis/

      【讨论】:

        【解决方案4】:

        Redis 可以管理非常多的连接,默认情况下它的内存存储(由于将内容存储在 RAM 中,它可以非常快)。

        但同时它可以配置为持久存储,因此将缓存数据(每 x 次或每 x 个更新的键)转储到磁盘。

        所以可以根据自己的需要进行配置,看看here

        【讨论】:

          【解决方案5】:

          我刚刚通过自制软件在 mac 上安装了 redis。没有任何配置,我 发现 dump.rdb 在我的工作目录中(我在其中启动了 redis-server)。

          【讨论】:

            【解决方案6】:

            Redis 是(某种)内存中的 noSQL 数据库;但我发现我的副本(在 linux 上运行)转储到 /var/lib/redis/dump.rdb

            【讨论】:

              【解决方案7】:

              所有缓存数据都将存储在提供给运行redis服务器配置的服务器内存中。 客户端不持有任何数据,他们只访问redis服务器存储的数据。

              【讨论】:

              • Ram和硬盘之间的数据是如何链接的?
              【解决方案8】:

              Redis 将所有数据保存在服务器的内存中,很少将日期保存到磁盘。 对于服务器客户端流 - 与服务器的所有数据传输。 Redis 可以处理客户端数量...默认限制 - 10.000 如果你需要更少的......你必须重新配置操作系统,服务器设置等 - http://redis.io/topics/clients

              【讨论】:

                猜你喜欢
                • 2015-11-17
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-01-23
                • 2010-11-11
                • 2019-05-23
                • 1970-01-01
                相关资源
                最近更新 更多