2017-09-26 67 views
-3

我是redis的初学者,在node.js项目中使用它,当我在控制台中看到网络日志结果和时间效率时,它提供了很好的结果。何时使用redis进行更好的优化?

因此,基本上在那里MySql,firebase,nosql和mongodb在顶部的角度来看,redis会适合哪里?我们可以使用redis进行更好的优化来替换这些最流行的数据库,或者可以通过特定的技术来增强应用程序的作用也许它应该与JavaScript和它的框架一起使用(例如,node.js与redis有很好的类比)?

+0

“nosql”不是数据库。 –

+0

@SergioTulentsev你错过了json! –

回答

2

Redis广泛用于缓存。这意味着,在高可用性基础设施中,当需要多次访问某些数据时,您可以将其存储在数据库中,然后使用一些可以使用参数轻松重建的独特密钥将其存储在redis中。当数据更新时,您只需在redis中清除该密钥并再次将其添加到新数据。

例如:

您有成千上万的用户。 他们都连接很多次,并继续他们的个人资料。 您可能需要使用密钥{userid}_user_info在redis中存储他们的个人资料信息。

用户尝试访问他的个人资料:如果redis的数据存在 第一张支票, 如果是退货, 否则从数据库获取它,并在Redis的插入

用户更新了他的个人资料信息,就刷新redis值。 等


还有Redis的使用另一种方式,它是排队任务,并在计算机之间同步的WebSockets广播。这里是关于它 http://fiznool.com/blog/2016/02/24/building-a-simple-message-queue-with-redis/


如每使用redis的作为数据库的有用制品,以及用于简单数据可以使用,像设置在那里的简单的键/值就足够了。为了存储复杂的数据,这有点麻烦,特别是如果您想使用关系功能或搜索功能。 Redis是快速的,因为它没有所有这些功能,并且将数据保存在内存中(不仅仅是,但它确实有助于)。