mysql redis memcache特點

一.mysql特點

(1)mysql支持數據持久化存儲

(2)功能很強大

(3)關係性數據庫,數據存儲在磁盤上,讀寫都涉及到文件IO的操作,磁盤的容量和帶寬的大小影響數據的讀取速度,

(4)mysql的連接池一般最大爲500-1000,對於高併發支持度不夠

(5)查詢時間的複雜度,根據sql語句來決定效率,涉及到sql優化,索引創建

(6)mysql支持master-slave主從模式,支持集羣間同步,適用於互聯網項目數據讀寫分離

二.redis特點

(1)redis支持數據持久化,可以將內存中的數據保存在磁盤上,redis重啓會把數據自動加載到緩存中,能夠保護數據完整性

(2)redis不僅支持簡單k/v類型的存儲,還支持String,list,hash table,set,sorted set數據結構的存儲

(3)內存數據庫,數據存儲在內存中,直接讀取,速度很快,但是redis並不是所有的數據都保存在內存中,redis會緩存所有的key值,當物理內存用完,會見部分不經常使用的value值持久化到內存中

(4)查詢速度很快,很好支持高併發,可達1百萬/s

(5)redis支持master-slave主從模式,支持集羣間的數據同步

(6)可以設置存儲數據的失效時間

(7)查詢數據的時間複雜度爲O(1)

(8)redis的單個value的限制是1GB

(9)支持分佈式鎖

(10)redis是通過服務器端來構建分佈式存儲

(11)redis使用單核,單線程服務器

三.memcache特點

(1)不支持數據持久化,重啓數據會丟失

(2)僅支持簡單的k/v類型的存儲,但是能夠存儲圖片,視頻等

(3)內存數據庫,數據存儲在緩存中,直接讀取,速度很快,所有的數據都保存在內存中

(4)查詢速度很快,很好支持高併發,可達1百萬/s

(5)可以設置存儲數據的失效時間

(6)自身不支持主從模式

(7)查詢數據的時間複雜度爲O(1)

(8)memcache的單個value的限制大小爲1MB

(9)支持分佈式鎖

(10)memcache在實現分佈式集羣部署時,memcache服務器之間是沒有通訊的,服務器端是僞分佈式,實現分佈式是通過客戶端來實現的,在發送數據之前,客戶端首先通過分佈式算法計算出目標節點,然後把數據發送到該目標節點上進行存儲。當客戶端查詢時,同樣是先計算出目標節點,然後在發送請求獲取數據

(11)支持多核,多線程服務器


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章