我正在使用redis for pub / sub以及服务器端缓存。我的意思是我的应用服务器将redis服务器作为一个进程运行(也用作缓存)。我有几个瘦客户端(运行redis客户端)以pub / sub模式连接到这个app服务器。我想知道redis存储缓存数据的位置?仅在服务器中,或者客户端中也会有副本。如果有近100个redis客户端通过pub / sub通道连接到服务器,那么以这种方式使用Redis也是个好主意。
由于
答案 0 :(得分:10)
Redis是一种(某种)内存中的noSQL数据库;但是我发现我的副本(在linux上运行)转储到/var/lib/redis/dump.rdb
答案 1 :(得分:3)
所有缓存数据都将存储在提供给运行redis服务器的配置的服务器的内存中。 客户端不保存任何数据,只访问redis服务器存储的数据。
答案 2 :(得分:1)
我刚通过自制软件在mac上安装了redis。没有任何配置,我 发现dump.rdb在我的工作目录中(我在那里启动了redis-server)。
答案 3 :(得分:1)
Redis可以管理真正大量的连接,默认情况下它的内存存储(由于存储在RAM中的东西,它可以如此之快)。
但同时它可以配置为持久存储,因此将缓存数据(每x次或每x次更新的密钥)转储到磁盘。
因此可以根据您的需要进行配置,看看here。
答案 4 :(得分:0)
Redis将所有数据保存在服务器的内存中,很少将日期保存到磁盘。 对于服务器<>客户端流 - 与服务器的所有数据传输。 Redis可以处理多个客户端...默认限制 - 10.000 如果您需要更少..您必须重新配置操作系统,服务器设置等 - http://redis.io/topics/clients
答案 5 :(得分:0)
默认位置
/ var / lib / redis /
答案 6 :(得分:0)
在我的Ubuntu上,它位于/var/lib/redis/dump.rdb
。在我的macOS(通过brew安装)上,它位于/usr/local/var/db/redis/dump.rdb
。
答案 7 :(得分:0)
您可以使用config command找出答案。
redis-cli config get dir
据我所知,发布/订阅数据是易失性的,根本没有存储或缓存在Redis中。如果需要,您应该寻找专用的消息代理,例如RabbitMQ。