Redis是一个NOSQL键/值数据库,它读取RAM中的整个生命周期(因此速度非常快)。对我来说,一个数组(例如,在PHP中)也是一样的,因为数组是一组键/值。数据库的主要区别在于索引值将在不读取整个数据库的情况下单独调用。Redis(键/值数据库)和关联数组之间的区别?
现在,当Redis读取整个数据库(到RAM中)时,它与键/值数组有什么不同?
Redis是一个NOSQL键/值数据库,它读取RAM中的整个生命周期(因此速度非常快)。对我来说,一个数组(例如,在PHP中)也是一样的,因为数组是一组键/值。数据库的主要区别在于索引值将在不读取整个数据库的情况下单独调用。Redis(键/值数据库)和关联数组之间的区别?
现在,当Redis读取整个数据库(到RAM中)时,它与键/值数组有什么不同?
另请注意,PHP中的内存使用情况是非常糟糕的数组。所以如果你有一个大阵列,你将需要大量的内存。 Redis可以提高效率。
我已经注意到了这一点,但没有理论上的解释。 Perl和Python也是如此吗? – Googlebot
在PHP中,每个元素都需要一个值为16个字节的值结构(zval)。还需要一个哈希桶 - 占用36个字节。这给每个值52个字节。内存分配头文件需要另外8个字节* 2 - 它提供了68个字节。 (https://bugs.php.net/bug.php?id=41053)。我不知道Perl和Python。 – Nin
@Ali in Perl我不知道,但很容易找到[Devel :: Size](http://search.cpan.org/~nwclark/Devel-Size-0.77/lib/Devel/Size。下午)包。要导入:使用Devel :: Size qw(total_size); – stivlo
它仍然是一个**持久存储**可通过网络** – zerkms