Redis在哪里存储数据

use*_*247 21 caching scalability redis hazelcast

我正在使用redis for pub/sub以及服务器端缓存.我的意思是我的应用服务器将redis服务器作为一个进程运行(也用作缓存).我有几个瘦客户端(运行redis客户端)以pub/sub模式连接到这个app服务器.我想知道redis存储缓存数据的位置?仅在服务器中,或者客户端中也会有副本.如果有近100个redis客户端通过pub/sub通道连接到服务器,那么以这种方式使用Redis也是个好主意.

谢谢

Ale*_*che 13

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


小智 9

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

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

所以它可以根据你的需要进行配置,看看这里


Dhr*_*hak 5

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


pan*_*anc 5

我刚刚通过 homebrew 在 mac 上安装了 redis。在没有任何配置的情况下,我发现 dump.rdb 位于我的工作目录中(我启动了 redis-server 的位置)。


小智 5

您可以使用config 命令来解决这个问题。

redis-cli config get dir
Run Code Online (Sandbox Code Playgroud)

然而,据我所知,发布/订阅数据是不稳定的,根本不存储或缓存在 Redis 中。如果您需要,您应该寻找专用的消息代理,例如 RabbitMQ。


小智 0

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