Redis将数据存储在由一个密钥索引的内存中,根据我的理解,MySQL也可以完成这项工作。
有没有什么能让Redis更好地存储大量(100-200k行)的易变数据?我只能解释Redis的外观,不是每个项目都有mysql,可能还有其他一些数据库不支持临时表。
如果我的项目中已经有MySql,那么忍受Redis是否有意义?
答案 0 :(得分:3)
Redis就像直接使用索引一样。你和数据之间没有ACID,SQL解析器和许多其他东西。
它提供了一些基本的数据结构,并且它们经过专门优化以保存在内存中,并且还具有读取和修改它们的特定操作。
另一方面,Redis并未设计为查询数据 (但您可以使用SORT
实现非常强大且高性能的过滤器,{{1 },交叉点和其他操作)但是要存储数据,因为您将在以后使用。例如,如果您希望获得按3种不同标准排序的客户,则需要填写3个不同的排序集。其他数据结构有很多用例,但我最终会在答案中写一本书......
此外,Redis中最强大的功能之一是可以轻松复制,并且从3.0版本开始,它支持开箱即用的数据分片。
关于为什么你需要使用Redis而不是MySQL上的临时表(以及其他拥有它们的引擎)取决于你。您需要研究您的案例,并检查在Redis等NoSQL存储中缓存或存储数据是否都能超越您的实际方法,并为您提供更优雅的数据架构。
答案 1 :(得分:1)
通过将Redis与其他数据库一起使用,您可以有效地减少其上的负载。此外,当Redis在不同的服务器上运行时,可以在每个层上独立执行扩展。