聊天应用程序的memcache与nodejs的redis

redis和memcached之间有什么区别,哪一个最适合聊天应用,有什么build议

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

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

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

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

主要区别在于

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

这意味着,在memcached中,数据是满的,它将被类似(LRU等)的驱逐逻辑移除。 如果服务器closures,整个数据将会丢失。

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

另外还有这么多的差别。 只有同样的东西是基于内存的K / V商店。

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