我一直在看Redis。它看起来很有趣。但从实际角度来看,在什么情况下使用Redis来优化MySQL?何时使用Redis代替MySQL的PHP应用程序?
回答
忽略整个NoSQL vs SQL的争论,我认为最好的方法是将它们结合起来。换句话说,将MySQL用于系统的某些部分(复杂查找,事务)以及其他部分(性能,计数器等)的redis。根据我的经验,与可伸缩性(很多用户...)相关的性能问题最终会迫使您添加某种缓存以从MySQL服务器中删除负载,并且predis/memcache等非常好。
我不是Redis的专家,但从我所搜集的内容来看,两者都非常不同。 Redis的:
- 不是一个关系数据库(没有花哨的数据组织)
- 把所有东西存在内存
- 不太广泛的各种部署(更快,不占空间,大概不到在发生碰撞的情况下是安全的)主机管理(如果你不托管自己)
我想你可能要使用Redis的,因为当你有一个小的数据十岁上下的数量不需要关系结构MySQL提供,并要求快速访问。例如,这可能是需要经常和快速访问的动态Web界面中的会话数据。
Redis也可以用作一些MySQL数据的缓存,这些数据会经常被访问(即:当用户登录时加载它)。
我想你问的问题走错了路周围,你应该问问自己哪一个更适合的应用,而不是哪一个应用程序适合于系统;)
谢谢 - 也许我问的是错误的方式,但如果我不明白什么时候使用Redis比MySQL更合适,我无法回答任何问题! – 2010-10-19 09:20:01
MySQL是一个关系型数据商店。如果配置(例如使用innodb表),则MySQL是可靠的数据存储库提供的ACID事务。
Redis是NoSQL数据库。这是更快(如果正确使用),因为它与交易速度的可靠性(是非常罕见的与FSYNC运行,因为这极大地伤害了性能)和交易(可以近似 - 慢 - 与SETNX)。
Redis has some very neat features例如集合,列表和排序列表。
These slides on Redis列举统计信息收集和会话管理为例。还有一个用redis编写的twitter clone作为例子,但这并不意味着twitter使用redis(twitter use具有沉重的memcache缓存的MySQL)。
MySQL的 -
1)结构化数据 2)ACID 3)重交易和查找。
的Redis -
1)非结构性数据 2)简单和快速查找。例如 - 会话令牌 3)将其用于缓存层。
- 1. 替代OpenCV fastNlMeansDenoising实时应用程序?
- 2. 实时应用程序 - 替代socket.io(node.js)
- 3. levenshtein mysql程序在php中的替代
- 4. 替代应用程序根
- 5. 使用PHP,MySQL和Redis
- 6. 使用Redis,Predis和我的php应用程序
- 7. Django应用程序的Redis
- 8. 替代使用PHP的标准MySQL
- 9. 封装代工的替代品? (PHP应用程序安装)
- 10. node.js + socket.io + redis + rails - 实时应用程序
- 11. 使用VOIP应用程序代替电话拨号程序
- 12. MySQL foreach的替代程序
- 13. 替代iphone应用程序和ipad应用程序与通用应用程序
- 14. 如何使用PHP/MySQL的Web服务器代码iPhone Web应用程序
- 15. 桌面Java应用程序的替代
- 16. Android应用程序的HashMap替代品
- 17. Windows应用程序中的HttpContext.Current.Server.MapPath替代
- 18. 对Plink的替代SSH应用程序
- 19. Access应用程序的替代方案
- 20. 使用redis在cloudfoundry中部署rails应用程序时出错?
- 21. 建议在实时生产应用程序中使用Redis?
- 22. 在Rails应用程序中同时使用Redis和MongoDB
- 23. 替代使用BuildProviders使用Web应用程序
- 24. 如何使用REDIS + Node.js注销我的应用程序
- 25. 如何部署使用Redis的Meteor应用程序?
- 26. 在IE上使用的JavaScript应用程序的xml替代?
- 27. 使用MySQL复制缩放PHP应用程序而无需更改PHP代码?
- 28. 使用App Engine Python应用程序作为PHP应用程序的代理
- 29. 在Web应用程序中使用FileSystemWatcher的替代方案
- 30. 什么是使用CopyData升级应用程序的好替代
您是否阅读过:http://www.mysqlperformanceblog.com/2009/08/27/looking-at-redis/?我不明白所有(我是法国人),但看起来很有趣。 – MatTheCat 2010-10-19 09:04:10
谢谢。是的,这很有趣。但我仍然不确定实际应用。 – 2010-10-19 09:18:02
相关但没有与MySQL的具体情况:http://stackoverflow.com/questions/7888880/what-is-redis-and-what-do-i-use-it-for?rq=1 – 2014-07-12 08:21:40