我已经阅读了关于Redis等键/值存储的好东西,但我似乎无法弄清楚什么时候在应用程序中使用它。
说我正在构建一个基于Web的应用程序;我知道我将用于前端,后端,数据库等的堆栈。在某些情况下,我会去“哦,我们还需要Redis for X,Y或Z.”
我希望node.js示例以及非node.js示例。
答案 0 :(得分:92)
我似乎无法弄清楚什么时候在应用程序中使用它。
我建议你阅读包含用例的this教程。由于redis是面向内存的,因此对于经常更新的实时数据非常有用,例如会话存储,状态数据库,统计,缓存及其advanced data structures为许多其他场景提供了多功能性。
然而,Redis并不是NoSQL替代经典关系数据库的,因为它不支持RDBMS世界的许多标准功能,例如查询可能会降低数据量的数据。替换是像MongoDB或CouchDB这样的文档数据库,而redis非常适合补充特定功能,其中高级数据结构的速度和支持非常方便。答案 1 :(得分:59)
我认为Redis的使用案例没有比本文更好的解释: http://antirez.com/post/take-advantage-of-redis-adding-it-to-your-stack.html
我打赌你会有一个啊哈!矩。 ;)
前一位读者的一句话:
我之前读过有关Redis的文章,并听过公司如何使用它,但从未完全理解它的用途。读完之后,我实际上可以说我现在了解Redis以及它是如何有用的。令人惊讶的是,在听了这么多关于它之后,它只是一篇相对简单的文章。
文章引用:
Redis在很多方面与其他数据库解决方案不同:它使用内存作为主存储支持,磁盘仅用于持久性,数据模型非常独特,它是单线程等等。我认为另一个很大的区别是,为了在生产环境中利用Redis,您不需要切换到Redis。您可以使用它来执行之前无法实现的新事物,或者为了解决旧问题。
文章触及的用例:
答案 2 :(得分:7)
我很想在实时项目中使用redis。我最近做了 对于一个以前在mysql上构建的gps跟踪系统 数据库中。
ADVANTAGE
答案 3 :(得分:2)
一件事是Redis不是关系数据库。如果您将需要SQL“JOIN”,那么您将不想使用Redis,也不想使用任何其他非关系数据库。 Redis比大多数关系数据库更快。如果您只是要做关键:值对查询,那么您将要使用Redis。