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
Memory 同一台服务器上有数百个Redis实例_Memory_Redis_Scalability_Multicore_Sharding - Fatal编程技术网

Memory 同一台服务器上有数百个Redis实例

Memory 同一台服务器上有数百个Redis实例,memory,redis,scalability,multicore,sharding,Memory,Redis,Scalability,Multicore,Sharding,这是可行的还是会降低CPU性能 我想这样做的原因是预硬化。我想在多个(128个,或者可能256个)Redis实例上共享数据,然后在同一台服务器上运行它们。然后,当我需要扩展时,我可以启动更多服务器,并轻松地将实例移动到其他服务器 我知道Redis本身的内存占用很小,所以内存开销大概不会是个问题。但如果我只有4个内核,它们会处理数百个Redis实例吗?或者我应该保持每个核心最多一个实例吗?Redis的工作原理类似于单线程应用程序,它为I/O等提供额外的线程。因此我认为它可以为每个Redis实例工作

这是可行的还是会降低CPU性能

我想这样做的原因是预硬化。我想在多个(128个,或者可能256个)Redis实例上共享数据,然后在同一台服务器上运行它们。然后,当我需要扩展时,我可以启动更多服务器,并轻松地将实例移动到其他服务器


我知道Redis本身的内存占用很小,所以内存开销大概不会是个问题。但如果我只有4个内核,它们会处理数百个Redis实例吗?或者我应该保持每个核心最多一个实例吗?

Redis的工作原理类似于单线程应用程序,它为I/O等提供额外的线程。因此我认为它可以为每个Redis实例工作一个核心。因为您仍然在多核计算机上的多核之间共享一些资源。所以你们几乎不能达到同样的性能,但我看不出有什么问题

一旦你将“耐久性”切换到硬盘上,问题就会出现。即使redis本身使用新的分叉线程来提供持久性,我也不认为它不会对已加载系统的性能造成太大影响

正如我已经说过的,它可以在没有持久性的情况下工作得很好