【问题标题】: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。
【解决方案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服务器存储的数据。
【解决方案8】:
Redis 将所有数据保存在服务器的内存中,很少将日期保存到磁盘。
对于服务器客户端流 - 与服务器的所有数据传输。
Redis 可以处理客户端数量...默认限制 - 10.000
如果你需要更少的......你必须重新配置操作系统,服务器设置等 - http://redis.io/topics/clients