新聞中心
本篇文章主要介紹了redis介紹和使用場景,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的興國網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
(1)持久化數(shù)據(jù)庫的缺點
平常我們使用的關(guān)系型數(shù)據(jù)庫有MySQL、Oracle以及SqlServer等,在開發(fā)的過程中,數(shù)據(jù)通常都是通過Web提供的數(shù)據(jù)庫驅(qū)動來鏈接數(shù)據(jù)庫進行增刪改查。
那么,我們?nèi)粘J褂玫臄?shù)據(jù)庫的數(shù)據(jù)都儲存在哪里呢?我們以Mysql為例。
打開我們Mysql所在的文件夾目錄下的data文件夾,如下所示:
我們可以發(fā)現(xiàn),里面都是我們創(chuàng)建的數(shù)據(jù)庫,打開其中一個,可以看到我們創(chuàng)建的表,他們以文件(格式frm和ibd)的形式存在:
也就是說,我們?nèi)粘J褂玫年P(guān)系型數(shù)據(jù)中的數(shù)據(jù),全部存儲在我們部署數(shù)據(jù)庫的機器的硬盤中。
一般我們的網(wǎng)站開發(fā)完成,上線之后,服務(wù)器的讀寫效率是網(wǎng)站運行速度的重要條件,當(dāng)然還有服務(wù)器的帶寬等,但是這些東西都可以通過硬件的更新升級來解決。其實與網(wǎng)站運行效率息息相關(guān)的東西,就是我們的------數(shù)據(jù)庫。
數(shù)據(jù)庫處理數(shù)據(jù)的速度,與網(wǎng)站速度息息相關(guān),而數(shù)據(jù)查詢、數(shù)據(jù)處理等等,都和數(shù)據(jù)庫處理速度有關(guān)。提高數(shù)據(jù)庫的處理數(shù)據(jù)的能力,其中一個方案就是sql語句的優(yōu)化技術(shù),sql語句寫的處理效率比較高,數(shù)據(jù)庫處理能力就會上去,而網(wǎng)站的數(shù)據(jù)處理能力也會快些。
但是,當(dāng)網(wǎng)站的處理和訪問量非常大的時候,我們的數(shù)據(jù)庫的壓力就變大了,數(shù)據(jù)庫的連接池,數(shù)據(jù)庫同時處理數(shù)據(jù)的能力就會受到很大的挑戰(zhàn),一旦數(shù)據(jù)庫承受了其最大承受能力,網(wǎng)站的數(shù)據(jù)處理效率就會大打折扣。此時就要使用高并發(fā)處理、負載均衡和分布式數(shù)據(jù)庫,而這些技術(shù)既花費人力,又花費資金。
如果我們的網(wǎng)站不是非常大的網(wǎng)站,而有想要提高網(wǎng)站的效率,降低數(shù)據(jù)庫的讀寫次數(shù),我們就需要引入緩存技術(shù)。
(2)緩存
緩存就是在內(nèi)存中存儲的數(shù)據(jù)備份,當(dāng)數(shù)據(jù)沒有發(fā)生本質(zhì)改變的時候,我們就不讓數(shù)據(jù)的查詢?nèi)?shù)據(jù)庫進行操作,而去內(nèi)存中取數(shù)據(jù),這樣就大大降低了數(shù)據(jù)庫的讀寫次數(shù),而且從內(nèi)存中讀數(shù)據(jù)的速度比去數(shù)據(jù)庫查詢要快一些,這樣同時又提高了效率。
使用緩存減輕數(shù)據(jù)庫的負載:
在開發(fā)網(wǎng)站的時候如果有一些數(shù)據(jù)在短時間之內(nèi)不會發(fā)生變化,而它們還要被頻繁訪問,為了提高用戶的請求速度和降低網(wǎng)站的負載,就把這些數(shù)據(jù)放到一個讀取速度更快的介質(zhì)上(或者是通過較少的計算量就可以獲得該數(shù)據(jù)),該行為就稱作對該數(shù)據(jù)的緩存。該介質(zhì)可以是文件/數(shù)據(jù)庫/內(nèi)存。內(nèi)存經(jīng)常用于數(shù)據(jù)庫緩存。
緩存的兩種形式:
頁面緩存經(jīng)常用在CMS(content manage system)內(nèi)存管理系統(tǒng)里面。
數(shù)據(jù)緩存經(jīng)常會用在頁面的具體數(shù)據(jù)里面。
緩存分為兩種:
頁面緩存(smarty靜態(tài)化技術(shù))
數(shù)據(jù)緩存
(3)Redis介紹
我們要學(xué)習(xí)的一個緩存技術(shù)就是----Redis:
Redis是Remote Dictionary Server(遠程數(shù)據(jù)服務(wù))的縮寫,由意大利人antirez(Salvatore Sanfilippo)開發(fā)的一款內(nèi)存高速緩存數(shù)據(jù)庫,該軟件使用C語言編寫,它的數(shù)據(jù)模型為key-value。它支持豐富的數(shù)據(jù)結(jié)構(gòu)(類型),比如String/List/Hash/Set/Sorted Set。
可持久化(一邊運行,一邊把數(shù)據(jù)往硬盤中備份一份,防止斷電等情況導(dǎo)致數(shù)據(jù)丟失,等斷電情況恢復(fù)之后,Redis再把硬盤中的數(shù)據(jù)恢復(fù)到內(nèi)存中),保證了數(shù)據(jù)的安全。
4)redis和memcache比較
1.Redis不僅僅支持簡單的k/v類型的數(shù)據(jù),同時還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲。
2.Redis支持master-slave(主-從)模式應(yīng)用。
3.Redis支持?jǐn)?shù)據(jù)持久化,可以將內(nèi)存中的數(shù)據(jù)保持在磁盤中,重啟的時候可以再次加載進行使用
4.Redis單個value的最大限制是1GB,memcached只能保存1MB的數(shù)據(jù)。
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。
名稱欄目:Redis介紹和使用場景詳解
轉(zhuǎn)載來源:http://www.ef60e0e.cn/article/jjohoo.html