memcache vs redis of nodejs for chat app

时间:2014-03-03 08:52:22

标签: node.js redis memcached

redis和amp;之间的区别是什么? memcached,哪一个最适合用于聊天应用,任何建议

2 个答案:

答案 0 :(得分:4)

正如Terry Cho所说,主要区别在于存储数据的方法。

Memcaching将数据存储在每台服务器的RAM中,或存储在内存缓存服务器的RAM中。 Redis将数据存储在内存数据库中,而Redis中的每个操作几乎都具有O(1)的操作复杂性,这使得它非常快。

就个人而言,我使用Redis进行缓存,因为我可以在服务器集群之间共享相同的缓存并自动设置数据到期,这仍然保持了检索数据的最小操作复杂性。

对于聊天应用程序,Redis可以更好地工作,因为如果服务器重新启动,您可能希望数据持续存在。我会使用像MongoDB或PostgreSQL这样的数据库来获得持久聊天应用程序的最佳性能。

答案 1 :(得分:2)

主要区别是

memcached是缓存,Redis是IMDB(在内存数据库中)。

这意味着,在memcached中,数据已满,它将被驱逐逻辑(如LRU等)删除。如果服务器关闭,整个数据将丢失。

但是在Redis的情况下,它会将数据保存到文件中,所以即使它已经崩溃,它也可以恢复数据。

另外还有这么多差异。只有那些是基于内存的K / V商店。

Redis可以支持群集和主/从复制,数据模型也不同等。