標籤:sla size 限制 串連池 管理 過程 資料 sql 讀數
(1)持久化資料庫的缺點
平常我們使用的關係型資料庫有Mysql、Oracle以及SqlServer等,在開發的過程中,
資料通常都是通過Web提供的資料庫驅動來連結資料庫進行增刪改查。
那麼,我們日常使用的資料庫的資料都儲存在哪裡呢?我們以Mysql為例。
開啟我們Mysql所在的檔案夾目錄下的data檔案夾,如下所示:
我們可以發現,裡面都是我們建立的資料庫,開啟其中一個,可以看到我們建立的表,
他們以檔案(格式frm和ibd)的形式存在:
也就是說,我們日常使用的關係型資料中的資料,全部儲存在我們部署資料庫的機器
的硬碟中。
一般我們的網站開發完成,上線之後,伺服器的讀寫效率是網站運行速度的重要條件,
當然還有伺服器的頻寬等,但是這些東西都可以通過硬體的更新升級來解決。
其實與網站運行效率息息相關的東西,就是我們的------資料庫。
資料庫處理資料的速度,與網站速度息息相關,而資料查詢、資料處理等等,
都和資料庫處理速度有關。提高資料庫的處理資料的能力,其中一個方案就是
sql語句的最佳化技術,sql語句寫的處理效率比較高,資料庫處理能力就會上去,
而網站的資料處理能力也會快些。
但是,當網站的處理和訪問量非常大的時候,我們的資料庫的壓力就變大了,資料庫的
串連池,資料庫同時處理資料的能力就會受到很大的挑戰,一旦資料庫承受了其最大承受
能力,網站的資料處理效率就會大打折扣。此時就要使用高並發處理、負載平衡和分散式資料庫,
而這些技術既花費人力,又花費資金。
如果我們的網站不是非常大的網站,而有想要提高網站的效率,降低資料庫的讀寫次數,我們就
需要引入緩衝技術。
(2)緩衝
緩衝就是在記憶體中儲存的資料備份,當資料沒有發生本質改變的時候,我們就不讓資料的查詢去
資料庫進行操作,而去記憶體中取資料,這樣就大大降低了資料庫的讀寫次數,而且從記憶體中讀資料
的速度比去資料庫查詢要快一些,這樣同時又提高了效率。
使用緩衝減輕資料庫的負載:
在開發網站的時候如果有一些資料在短時間之內不會發生變化,而它們還要被頻繁訪問,為了
提高使用者的請求速度和降低網站的負載,就把這些資料放到一個讀取速度更快的介質上(或者
是通過較少的計算量就可以獲得該資料),該行為就稱作對該資料的緩衝。
該介質可以是檔案/資料庫/記憶體。記憶體經常用於資料庫緩衝。
緩衝的兩種形式:
頁面緩衝經常用在CMS(content manage system)記憶體管理系統裡面。
資料緩衝經常會用在頁面的具體資料裡面。
緩衝分為兩種:
頁面緩衝(smarty靜態化技術)
資料緩衝
(3)Redis介紹
我們要學習的一個緩衝技術就是----Redis:
Redis是Remote Dictionary Server(遠端資料服務)的縮寫,由意大利人antirez(Salvatore Sanfilippo)開發的一款記憶體快取資料庫,該軟體使用C語言編寫,它的資料模型為key-value。
它支援豐富的資料結構(類型),比如String/List/Hash/Set/Sorted Set。
可持久化(一邊運行,一邊把資料往硬碟中備份一份,防止斷電等情況導致資料丟失,等斷電情況恢複之後,Redis再把硬碟中的資料恢複到記憶體中),保證了資料的安全。
(4)redis和memcache比較
1.Redis不僅僅支援簡單的k/v類型的資料,同時還提供list,set,zset,hash等資料結構的儲存。
2.Redis支援master-slave(主-從)模式應用
3.Redis支援資料持久化,可以將記憶體中的資料保持在磁碟中,重啟的時候可以再次載入進行使用。
4.Redis單個value的最大限制是1GB,memcached只能儲存1MB的資料。
轉載請註明出處:http://blog.csdn.net/acmman/article/details/53167917
redis1--redis的介紹