何时使用redis进行更好的优化?

时间:2017-09-26 11:18:39

标签: javascript sql node.js database redis

我是redis的初学者,并且在我的node.js项目中使用它,当我看到它正在旋转的缓存机制时它提供了很好的结果

所以基本上在MySql,firebase和mongodb在这个视角中排名第一的世界里,redis适合哪里?我们是否可以使用redis进行更好的优化,以替换这些最流行的数据库,或者可以通过特定技术获得更大的应用程序也许它应该与javascript及其框架一起使用(例如node.js与redis有很好的比喻)?

1 个答案:

答案 0 :(得分:2)

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

示例:

您有数千名用户。 他们都连接很多次并继续他们的个人资料。 您可能希望使用密钥{userid}_user_info将其个人资料信息存储在redis中。

用户尝试访问他的个人资料:    首先检查redis中是否存在数据,        如果是,则返回        否则从db获取它并将其插入redis

用户更新其个人资料信息,只需刷新redis值即可。 等。

还有另一种使用redis的方法,它用于排队任务和跨机器同步websockets广播。这是一篇有用的文章 http://fiznool.com/blog/2016/02/24/building-a-simple-message-queue-with-redis/

根据使用redis作为数据库,可以使用简单数据,例如简单键/值足够的设置。对于存储复杂数据,这有点麻烦,特别是如果您想使用关系功能或搜索功能。 Redis速度很快,因为它没有所有这些功能,并且将数据保存在内存中(不仅如此,但确实有贡献)。