Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Architecture 在同一服务器上设置redis及其客户端应用程序_Architecture_Redis - Fatal编程技术网

Architecture 在同一服务器上设置redis及其客户端应用程序

Architecture 在同一服务器上设置redis及其客户端应用程序,architecture,redis,Architecture,Redis,我将介绍设置配置平台/服务的选项,该平台/服务将为所有客户机服务/应用程序提供配置。要求在专用服务器上进行设置 我正在探索redis是否可以作为支持复杂键值配置的可能选项之一。如果将redis设置在不同于消费者的服务器上,GET将涉及一些网络延迟(我并不太担心set,因为它们将比GET少很多)。我是否应该在客户端机器上设置另一个缓存层(例如EhCache或其他东西),以避免机器对机器的网络延迟?在这种情况下,需要处理缓存同步和失效。此外,我还了解到redis支持复制,但是客户端服务机器上的从属服

我将介绍设置配置平台/服务的选项,该平台/服务将为所有客户机服务/应用程序提供配置。要求在专用服务器上进行设置

我正在探索redis是否可以作为支持复杂键值配置的可能选项之一。如果将redis设置在不同于消费者的服务器上,GET将涉及一些网络延迟(我并不太担心set,因为它们将比GET少很多)。我是否应该在客户端机器上设置另一个缓存层(例如EhCache或其他东西),以避免机器对机器的网络延迟?在这种情况下,需要处理缓存同步和失效。此外,我还了解到redis支持复制,但是客户端服务机器上的从属服务器(与主服务器完全相同)会占用大量内存,因为redis主要使用RAM存储所有数据。而且,它们都可以竞争CPU/资源

注意:客户端服务/应用程序当前部署在AmazonEC2中实例上。redis也可以使用类似的方法


请让我知道这个架构是否有好的替代方案,或者根本不好。提前谢谢

如果它们都是同一地区的EC2实例,那么我就不会太担心网络延迟。如果你认为你会有很多数据,我会用m1large或m1xlarge来表示redis。根据您的需求,缓存可能有意义,也可能没有意义


我在EC2中使用了redis,每秒处理数千个事务,没有任何问题。

如果你好奇的话,我最近测试了从本地redis服务器或同一数据中心请求的区别。我在Rackspace服务器上进行了测试。我使用的是一个Redis服务器,该服务器设置了一些长字符串列表。每个字符串大约有400字节。我使用lrange命令检索数据,在每个示例中调用它60次,并尝试请求一小部分列表(每个lrange命令15项)和整个列表(每个lrange命令1000项)

结果如下

Server Location     Items/request    Time (s)
Regional Server     1000             4.270628188
Regional Server     15               0.095376321
Local Host          1000             0.207240364
Local Host          15               0.00823119

我们谈论的是什么样的时间/秒?这两个实例是否在同一个网络上?这两个实例将是同一地区的Amazon ec2实例。GETs/sec的最大值可能是数百或数千。感谢您的快速响应。“如果它们都是同一地区的EC2实例,那么我就不会太担心网络延迟。”-本地缓存是否有助于避免延迟?