首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么时候为PHP应用程序使用Redis代替MySQL?

问什么时候为PHP应用程序使用Redis代替MySQL?
EN

Stack Overflow用户
提问于 2010-10-19 16:53:56
回答 6查看 56.3K关注 0票数 81

我一直在找雷迪斯。它看起来很有趣。但是从实际的角度来看,在什么情况下使用Redis比使用MySQL更好呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-10-19 17:39:01

忽略整个NoSQL与SQL的争论,我认为最好的方法是将它们结合起来。换句话说,将MySQL用于系统的某些部分(复杂的查找、事务),将redis用于其他部分(性能、计数器等)。

根据我的经验,性能问题与可伸缩性有关(大量用户...)最终会迫使您添加某种类型的缓存来从MySQL服务器中移除负载,而redis/memcached在这方面非常擅长。

票数 98
EN

Stack Overflow用户

发布于 2010-10-19 17:16:11

我不是Redis专家,但据我所知,两者是非常不同的。Redis:

  • 不是关系数据库(没有特殊的数据组织)
  • 将所有内容都存储在内存中(速度更快,空间更少,在崩溃时可能不太安全)
  • 在各种‘re主机上的部署范围较小(如果您不是自己托管)

我认为当你有少量的数据不需要MySQL提供的关系结构,并且需要快速访问时,你可能会想要使用Redis。例如,这可以是需要频繁且快速地访问的动态web界面中的会话数据。

Redis也可以用作一些经常被访问的MySQL数据的缓存(例如,当用户登录时加载它)。

我认为你问错了问题,你应该问自己哪个更适合应用程序,而不是哪个应用程序适合系统;)

票数 22
EN

Stack Overflow用户

发布于 2010-10-19 17:24:08

MySQL是一种关系数据存储。如果进行了配置(例如,使用innodb表),则MySQL是一个提供事务的可靠数据存储。

Redis是一个NoSQL数据库。它的速度更快(如果使用得当),因为它在速度和可靠性之间进行了权衡(很少使用fsync运行,因为这会严重影响性能)和事务(这可以用来近似--速度很慢)。

Redis has some very neat features,如集合、列表和排序列表。

例如,These slides on Redis列表统计信息收集和会话管理。还有一个使用redis编写的twitter克隆示例,但这并不意味着twitter使用redis (具有大量内存缓存的twitter use MySQL )。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3966689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档