我似乎不知道什么时候该在应用程序中使用它。 我建议你阅读this教程,其中也包含了一些使用案例,因为redis是面向内存的,它非常适合频繁更新的实时数据,比如会话存储,状态数据库,统计数据,缓存,它的advanced data structures为许多其他场景提供了通用性。 然而,Redis并不是传统关系数据库的NoSQL替代品,因为它不支持RDBMS世界的许多标准功能,比如查询数据,这可能会降低速度。替代品是MongoDB或CouchDB等文档数据库,而Redis非常擅长补充特定功能,在这些功能中,速度和对高级数据结构的支持非常方便。
4条答案
按热度按时间v6ylcynt1#
我似乎不知道什么时候该在应用程序中使用它。
我建议你阅读this教程,其中也包含了一些使用案例,因为redis是面向内存的,它非常适合频繁更新的实时数据,比如会话存储,状态数据库,统计数据,缓存,它的advanced data structures为许多其他场景提供了通用性。
然而,Redis并不是传统关系数据库的NoSQL替代品,因为它不支持RDBMS世界的许多标准功能,比如查询数据,这可能会降低速度。替代品是MongoDB或CouchDB等文档数据库,而Redis非常擅长补充特定功能,在这些功能中,速度和对高级数据结构的支持非常方便。
vecaoik12#
我认为没有什么比这篇文章更能解释Redis的用例了:http://oldblog.antirez.com/post/take-advantage-of-redis-adding-it-to-your-stack.html
我打赌你会有一个“啊哈!时刻”。)
引自之前一位读者的话:
我以前读过关于Redis的书,也听说过很多公司是如何使用它的,但从来没有完全理解过它的用途。阅读了这篇文章后,我可以说我现在理解了Redis,也理解了它是如何有用的。令人惊讶的是,在听了这么多关于它的文章后,我只需要一篇相对简单的文章。
文章中的一段话:
Redis与其他数据库解决方案有很多不同之处:它使用内存作为主存储支持,而磁盘只用于持久化,数据模型非常独特,它是单线程的等等。我认为另一个很大的区别是,为了在你的生产环境中利用Redis,你不需要切换到Redis。你可以使用它来做以前不可能做的新事情,或者修复旧问题。
本文涉及的使用情形:
643ylb083#
1.我很想在真实的项目上使用Redis。我最近为一个GPS跟踪系统做了这个,这个系统以前是建立在MySQL作为数据库的。
优势
1.每次追踪器广播数据时,我不需要打开mysql连接并存储在上面。我们可以将其保存在redis上,然后使用其他进程迁移到mysql。这将避免多个追踪器并发连接到mysql。
1.我可以发布所有这些gps数据,其他客户端(javascript/android)可以使用基于redis的消息队列真实的订阅
1.我可以触发真实的警报
j9per5c44#
有一件事是Redis不是关系数据库。如果你需要一个SQL“JOIN”,那么你不会想使用Redis,也不会想使用任何其他非关系数据库。尽管Redis比大多数关系数据库更快。如果你只想做键:值对查询,那么你会想使用Redis。