從型別上來說,mysql是關係型資料庫,redis是快取資料庫。
mysql用於持久化的儲存資料到硬碟,功能強大,但是速度較慢。
redis用於儲存使用較為頻繁的資料到快取中,讀取速度快,能夠大大的提高執行效率,但是儲存時間有限。
mysql和redis因為需求的不同,一般都是配合使用。
描述的具體一點:
mysql作為持久化儲存的關係型資料庫,相對薄弱的地方在於每次請求訪問資料庫時,都存在著i/o操作,如果反覆頻繁的訪問資料庫。第一:會在反覆鏈結資料庫上花費大量時間,從而導致執行效率過慢;第二:反覆的訪問資料庫也會導致資料庫的負載過高,那麼此時快取的概念就衍生了出來。
快取就是資料交換的緩衝區(cache),當瀏覽器執行請求時,首先會對在快取中進行查詢,如果存在,就獲取;否則就訪問資料庫。
redis資料庫就是一款快取資料庫,用於儲存使用頻繁的資料,這樣減少訪問資料庫的次數,提高執行效率
showtooltip
atomic 和 nonatomic 有什麼區別
atomic 和 nonatomic 的區別在於,系統自動生成的 getter setter 方法不一樣。atomic 變數預設是有該有屬性的,這個屬性是為了保證在多執行緒的情況下,編譯器會自動生成一些互斥加鎖的 避免該變數的讀寫不同步的問題。nonatomic 如果該物件無需考慮多執行緒的情況,這...
forward和redirect有什麼區別
redirect和forward的定義 1.redirect 重定向 服務端傳送給客戶端乙個重定向的臨時響應頭,這個響應頭包含重定向之後的url,客戶端用新的url重新向伺服器傳送乙個請求。2.forward 請求轉向 伺服器程式內部請求轉向,這個特性允許前乙個程式用於處理請求,而後乙個程式用來返回...
HashMap, HashTable有什麼區別?
跟hashmap相比hashtable是執行緒安全的,適合在多執行緒的情況下使用,但是他在對資料操作的時候都會上synchronzied鎖,所以效率比較低下。hashtable 是不允許鍵或值為 null 的,hashmap 的鍵值則都可以為 null。這是因為hashtable使用的是安全失敗機制...