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
获取密钥的Redis分片性能和o(1)时间复杂度_Redis_Nosql_In Memory Database_Stackexchange.redis - Fatal编程技术网

获取密钥的Redis分片性能和o(1)时间复杂度

获取密钥的Redis分片性能和o(1)时间复杂度,redis,nosql,in-memory-database,stackexchange.redis,Redis,Nosql,In Memory Database,Stackexchange.redis,请给我一个简单的解释 Redis声称get密钥的时间复杂度为o(1) 因此,无论我的键值对是1000000还是10000000000000,获取密钥的时间都是相同的 我现在的问题是 我需要保存大约10亿个键值对,如果内存不是问题(这意味着假设我有一台服务器有足够的内存来保存那么多数据),分片有什么好处吗?也就是说,将这10亿个键值对分离为10个redis实例(每个实例持有1亿条记录)与仅一个redis实例持有整个记录相比,会有任何性能优势吗 非常感谢您的预期响应分片在性能方面有一定的优势,因为它

请给我一个简单的解释

  • Redis声称get密钥的时间复杂度为o(1)

  • 因此,无论我的键值对是1000000还是10000000000000,获取密钥的时间都是相同的

  • 我现在的问题是

    我需要保存大约10亿个键值对,如果内存不是问题(这意味着假设我有一台服务器有足够的内存来保存那么多数据),分片有什么好处吗?也就是说,将这10亿个键值对分离为10个redis实例(每个实例持有1亿条记录)与仅一个redis实例持有整个记录相比,会有任何性能优势吗


    非常感谢您的预期响应

    分片在性能方面有一定的优势,因为它可以使用多个CPU核(理想情况下,每个分片一个)。由于(大部分)是单线程的,单个实例Redis只能使用一个内核(甚至更多)。切分有效地提高了部署的并行性,从而对性能做出了积极的贡献(但增加了管理开销)