我是redis的初学者,并且在我的node.js项目中使用它,当我看到它正在旋转的缓存机制时它提供了很好的结果
所以基本上在MySql,firebase和mongodb在这个视角中排名第一的世界里,redis适合哪里?我们是否可以使用redis进行更好的优化,以替换这些最流行的数据库,或者可以通过特定技术获得更大的应用程序也许它应该与javascript及其框架一起使用(例如node.js与redis有很好的比喻)?
答案 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速度很快,因为它没有所有这些功能,并且将数据保存在内存中(不仅如此,但确实有贡献)。