2014-03-03 35 views

回答

1

主要區別在於

memcached是緩存,Redis的是IMDB(在內存數據庫中)。

這意味着,在memcached中,數據已滿,它將被驅逐邏輯(如LRU等)移除。如果服務器關閉,整個數據將會丟失。

但是在Redis的情況下,它將數據保存到文件中,所以即使它已經崩潰,它也可以恢復數據。

此外還有這麼多的差異。只有同樣的東西是基於記憶的K/V商店。

Redis的可支持羣集和主/從複製,數據模型還不同等

3

正如特里Cho說,主要的區別是存儲數據的方法。

Memcaching將數據存儲在每個服務器上的RAM中,或者存儲在memcache服務器的RAM中。 Redis將數據存儲在內存數據庫中,幾乎Redis中的每項操作都具有O(1)的操作複雜性,這使得它非常快速。

個人而言,我使用Redis進行緩存,因爲我可以在服務器集羣之間共享相同的緩存並自動設置數據過期,這仍然保持檢索數據的最小操作複雜性。

對於聊天應用程序,Redis會更好地工作,因爲如果您的服務器重新啓動,您可能希望數據持續存在。儘管如此,我會使用像MongoDB或PostgreSQL這樣的數據庫來獲得持久聊天應用程序的最佳性能。