草庐IT

database-replication

全部标签

database - Web 服务器前端或数据库服务器后端的 Redis

我有两个虚拟专用服务器,第一个是Web服务器前端,第二个是数据库后端。我想使用Redis进行实时处理,我的问题是:我应该在哪里安装Redis?在Web或数据库服务器上? 最佳答案 在数据库服务器上安装Redis的优点:如果您有大量数据,Redis的数据库会变得很大。如果您要存储统计数据并存储大量统计数据,那么您的数据库可能会成为内存消耗大户。您不希望将所有这些数据都保存在您的网络服务器的内存中,因为这可能会占用您的HTTP服务器的内存。它调用数据库服务器是有原因的在数据库服务器上安装Redis的缺点轮询服务器数据时网络响应时间较长,

database - Web 服务器前端或数据库服务器后端的 Redis

我有两个虚拟专用服务器,第一个是Web服务器前端,第二个是数据库后端。我想使用Redis进行实时处理,我的问题是:我应该在哪里安装Redis?在Web或数据库服务器上? 最佳答案 在数据库服务器上安装Redis的优点:如果您有大量数据,Redis的数据库会变得很大。如果您要存储统计数据并存储大量统计数据,那么您的数据库可能会成为内存消耗大户。您不希望将所有这些数据都保存在您的网络服务器的内存中,因为这可能会占用您的HTTP服务器的内存。它调用数据库服务器是有原因的在数据库服务器上安装Redis的缺点轮询服务器数据时网络响应时间较长,

database - 我的 redis 服务器 "crashed"和我丢失了所有数据,因为它们都在内存中?

我意识到当我登录时我所有的数据都消失了...KEYS*什么也没显示。幸运的是,我在开发服务器中执行此操作。如果将来在生产中发生这种情况,我该怎么办?我应该每秒备份一次吗? 最佳答案 您可以在这里找到许多答案/选项:http://redis.io/topics/persistence据我所知,您应该:将您的服务器实例配置为每隔5分钟左右定期将其数据保存到文件中。这样,如果服务器出现故障,您最多会丢失几分钟的数据。配置您的服务器实例以写入AOF重做日志(仅附加文件)。您有多种选择来支持耐用性或性能。至少添加一台额外的服务器并将其用于复制

database - 我的 redis 服务器 "crashed"和我丢失了所有数据,因为它们都在内存中?

我意识到当我登录时我所有的数据都消失了...KEYS*什么也没显示。幸运的是,我在开发服务器中执行此操作。如果将来在生产中发生这种情况,我该怎么办?我应该每秒备份一次吗? 最佳答案 您可以在这里找到许多答案/选项:http://redis.io/topics/persistence据我所知,您应该:将您的服务器实例配置为每隔5分钟左右定期将其数据保存到文件中。这样,如果服务器出现故障,您最多会丢失几分钟的数据。配置您的服务器实例以写入AOF重做日志(仅附加文件)。您有多种选择来支持耐用性或性能。至少添加一台额外的服务器并将其用于复制

database - Redis:获取排序集的所有可用分数

我需要获得可用于Redis排序集的所有分数。redis>ZADDmyzset10"one"(integer)1redis>ZADDmyzset20"two"(integer)1redis>ZADDmyzset30"three"(integer)1现在我想检索myzset的所有分数,即。10、20、30。 最佳答案 编辑:由于您之前关于值大小的问题并不明显,我做了一些额外的研究。根据当前文档,无法仅从已排序的集合中获取分数。要获得分数,您需要做的是同时将它们添加到一个单独的集合中,并在需要时从那里获取它们。虽然您首先应该做的是尝试将您

database - Redis:获取排序集的所有可用分数

我需要获得可用于Redis排序集的所有分数。redis>ZADDmyzset10"one"(integer)1redis>ZADDmyzset20"two"(integer)1redis>ZADDmyzset30"three"(integer)1现在我想检索myzset的所有分数,即。10、20、30。 最佳答案 编辑:由于您之前关于值大小的问题并不明显,我做了一些额外的研究。根据当前文档,无法仅从已排序的集合中获取分数。要获得分数,您需要做的是同时将它们添加到一个单独的集合中,并在需要时从那里获取它们。虽然您首先应该做的是尝试将您

database - 雷迪斯 : How to set one key equal to the value of another key?

REDIS中是否有任何快速命令可以让我执行以下操作我想将键Y的值设置为等于键X的值。如何从Redis客户端执行此操作。我使用标准的Redis-cli客户端。基本上我正在寻找以下等价物-Y.Val()=X.Val() 最佳答案 您可以使用Lua脚本执行此操作:redis.call('SET',KEYS[2],redis.call('GET',KEYS[1]));return1;KEYS1是源keyKEYS2是目标键下面的例子使用了SCRIPTLOAD创建脚本并使用EVALSHA调用它传递以下参数:从脚本加载返回的SHA1将传递的键数为

database - 雷迪斯 : How to set one key equal to the value of another key?

REDIS中是否有任何快速命令可以让我执行以下操作我想将键Y的值设置为等于键X的值。如何从Redis客户端执行此操作。我使用标准的Redis-cli客户端。基本上我正在寻找以下等价物-Y.Val()=X.Val() 最佳答案 您可以使用Lua脚本执行此操作:redis.call('SET',KEYS[2],redis.call('GET',KEYS[1]));return1;KEYS1是源keyKEYS2是目标键下面的例子使用了SCRIPTLOAD创建脚本并使用EVALSHA调用它传递以下参数:从脚本加载返回的SHA1将传递的键数为

replication - 添加 redis slave 是否会向 master 发出阻塞调用?

我不清楚documentationonreplication是否SYNCcommand正在阻塞。这似乎不应该(毕竟,启动一个新的奴隶会阻止主人服务请求),但我想确认这一点。就上下文而言,我正在考虑将一个从服务器添加到托管大约8GB数据且没有磁盘同步*的主服务器上。*从历史上看,数据丢失并不是一个问题。我们正在改变这一点,因此复制和持久性在一定程度上被“向后移植”。 最佳答案 master只会对slave的SYNC请求执行BGSAVE,因此这不是阻塞操作。所以顺序是:从机请求同步主BGSAVE,从等待masterBGSAVE完成,初始

replication - 添加 redis slave 是否会向 master 发出阻塞调用?

我不清楚documentationonreplication是否SYNCcommand正在阻塞。这似乎不应该(毕竟,启动一个新的奴隶会阻止主人服务请求),但我想确认这一点。就上下文而言,我正在考虑将一个从服务器添加到托管大约8GB数据且没有磁盘同步*的主服务器上。*从历史上看,数据丢失并不是一个问题。我们正在改变这一点,因此复制和持久性在一定程度上被“向后移植”。 最佳答案 master只会对slave的SYNC请求执行BGSAVE,因此这不是阻塞操作。所以顺序是:从机请求同步主BGSAVE,从等待masterBGSAVE完成,初始