【轉】mysql 和 redis的區別
我們知道,mysql是持久化儲存,存放在磁碟裡面,檢索的話,會涉及到一定的IO,為了解決這個瓶頸,於是出現了快取,比如現在用的最多的 memcached(簡稱mc)。首先,使用者訪問mc,如果未命中,就去訪問mysql,之後像記憶體和硬碟一樣,把資料複製到mc一部分。 redis和mc都是快取,並且都是駐留在記憶體中執行的,這大大提升了高資料量web訪問的訪問速度。然而mc只是提供了簡單的資料結構,比如 string儲存;redis卻提供了大量的資料結構,比如string、list、set、hashset、sorted set這些,這使得使用者方便了好多,畢竟封裝了一層實用的功能,同時實現了同樣的效果,當然用redis而慢慢捨棄mc。 記憶體和硬碟的關係,硬碟放置主體資料用於持久化儲存,而記憶體則是當前執行的那部分資料,CPU訪問記憶體而不是磁碟,這大大提升了執行的速度,當然這是基於程式的區域性化訪問原理。 推理到redis+mysql,它是記憶體+磁碟關係的一個對映,mysql放在磁碟,redis放在記憶體,這樣的話,web應用每次只訪問redis,如果沒有找到的資料,才去訪問Mysql。 然而redis+mysql和記憶體+磁碟的用法最好是不同的。 轉載,僅供參考
前者是記憶體資料庫,資料儲存在記憶體中,當然速度快。後者是關係型資料庫,功能強大,資料訪問也就慢。像memcache,mongoDB,Redis,都屬於No sql系列。不是一個型別的東西,應用場景也不太一樣,還是要看你的需求來決定。
相關文章
- 談談mysql和redis的區別MySqlRedis
- Memcached和Redis的區別?Redis
- MySQL和Oracle的區別MySqlOracle
- mysql中!=和is not的區別MySql
- Oracle和MySQL的區別OracleMySql
- MYSQL和SQL的區別MySql
- mysql中“ ‘ “和 “ ` “的區別MySql
- mysql與redis的區別與使用場景MySqlRedis
- 好好耕耘redis和memcached的區別Redis
- Python教程分享:Redis和Memcache的區別?PythonRedis
- Mysql 中 MyISAM 和 InnoDB 的區別MySql
- SQLserver-MySQL的區別和用法ServerMySql
- mysql alter modify 和 change的區別MySql
- MySQL中datetime和timestamp的區別MySql
- MySQL之Where和Having的區別MySql
- Oracle 和 mysql的9點區別OracleMySql
- 轉發和重定向的區別?
- Cookie和Session的區別,Koa2+Mysql+Redis實現登入邏輯CookieSessionMySqlRedis
- 細說紛紜——Redis 和 Memcached 的區別Redis
- mysql bigint型別和datetime型別的轉換MySql型別
- Redis中KEYS和SCAN命令的區別和建議Redis
- mysql主從和主備的區別MySql
- MySQL中REPLACE INTO和INSERT INTO的區別分析MySql
- MySQL中CHAR和VARCHAR區別MySql
- 轉發和重定向的過程和區別
- 全面對比 Redis 和 Memcached 的 6 點區別Redis
- mysql 空值(null)和空字元('')的區別MySqlNull字元
- NULL在oracle和mysql索引上的區別NullOracleMySql索引
- Mysql中S 鎖和 X 鎖的區別MySql
- MySQL儲存引擎:MyISAM和InnoDB的區別MySql儲存引擎
- mysql的having和where有什麼區別MySql
- 【Mysql】MySQL中interactive_timeout和wait_timeout的區別MySqlAI
- MySQL5.7和MySQL8.0的區別是什麼?MySql
- input屬性disabled和readonly的區別(轉)
- 【轉】理解 CI 和 CD 之間的區別
- Vue中computed和watch的區別(轉載)Vue
- mongodb和mysql有什麼區別MongoDBMySql
- Mysql-left join on後接and,和where的區別MySql
- MySQL 8 和 MySQL 5.7 在自增計數上的區別MySql