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