你有一份Redis運維秘籍,請查收!
先給大家講一個基本知識點:數據庫分類大致分為兩類,關系型數據庫和非關系型數據庫。如果詳細區分的話,還可以繼續分下去。
Redis不僅僅是緩存數據庫
面試的時候,很多人會問,Redis和memcahce的區別?
memcache是一個純緩存的鍵值數據庫,而Redis是一個非關系型的數據庫。
兩者的差異較大,卻仍然大部分的人問二者的區別?因為很多人對Redis的應用,主要是和memcache一樣,作為鍵值緩存數據庫來用的。
要知道,Redis不僅僅是緩存數據庫,接下來,我們要深入Redis的應用場景,探尋它能為我們來解決什么樣的問題。
6大Redis應用場景
1.緩存
緩存肯定是大家應用場景最多的一個方向,幾乎現在所有的中大型網站,都用到了緩存。
合理的使用緩存不但能提高網頁的訪問速度,也能夠降低后端數據庫的壓力。
根據數據類型和實際使用情況,設置靈活的鍵值過期策略,又可以保障數據的有效性,所以用在緩存的場合非常多。
2.計數器
好多不熟悉業務或者開發的運維同學可能會問,計數器究竟是什么?
我們可以通過我們實際的例子來說明,比如博主寫了一篇博文,有多少人來瀏覽,51CTO都會有記錄。
那么這個記錄怎么來做,每次瀏覽的話,這個記錄都會+1 ,當瀏覽人數太多的時候,或者文章基數較大的時候,每次都去數據庫來操作讀寫這個數據,肯定對后端數據庫會有較大的壓力。
如果我們使用Redis的incr來實現這個功能,在內存中來計數,不但性能好,還可以減輕后端數據庫的壓力。所以是Redis!
3.排行榜
比如音樂或者某比賽排行榜,我們可以使用音樂名作為元素,使用播放次數作為分值。
如果使用Redis的zadd來實現這個功能,使用zrevrange 來按照分值獲取前10名或者50名的歌曲,或者獲取歌曲排名,都是操作比較容易的,試想一下這種范圍取值,如果使用Mysql來操作,一般會全表掃描,對I/O、數據庫都是壓力,所以是Redis。
4.定位功能(3.2開始支持)
Redis的 GEO特性,我們可以通過提前輸入具體的地理位置信息,經緯度一些主要內容,在使用時,可以快讀定位到APP使用者的位置,以及位置之間的距離等。
5.簡單的消息系統
在日常的應用開發中,消息隊列的使用還是比較常見的,Redis也有阻塞隊列的功能。能夠讓程序在執行時被另一個程序添加到隊列。
6.交友
我們可以存儲好友的信息,比如愛好、興趣等,通過使用Set集合的差查找愛好不同,或者愛好相同的點,增加交友匹配度等。
當然,Redis的實際應用還遠不止這些,既然這個數據庫可以在我們實際的應用中,解決如此多的痛點問題,也有如此多的應用場景,那么肯定使用的公司一定比較多,為了提高我們自身的能力,或者競爭力,能夠更好的解決或者運維好這一款數據庫,我當然需要深入的去學習。
Redis最顯著的優勢
1.速度快
Redis的開發基于C語言實現,網絡上使用epoll解決高并發的問題,單線程又避免不必要的上下文切換。C語言和貼近系統,數據又放在內存中。所以速度肯定快。
2.支持多種數據類型
Redis不僅僅是key - value的存在,還可以支持LIst、String、Hash、Set、Zset 數據類型,可以滿足我們大部分的需求。
通過這個圖呢,我們大致介紹了Redis的功能、場景、優點等信息。那么既然Redis在我們工作中,有這么多的地方可以用到,我們更應該需要深入的去學習和了解,方便我們在以后的工作中,更加的得心應手。基于以上的考慮,所以我講解內容選擇的時候: 所以是Redis。
接住這份Redis運維秘籍
1.總結知識點
我們通過專欄的學習,可以看到Redis在學習過程中重要的一些知識點,而不是通篇的按照Redis的官方文檔來教科書式的宣讀,我們會把工作中常用的進行知識點的總結,只講干貨,不湊篇幅。
2.理論+實踐
魯迅先生說:“實踐是檢驗真理的唯一標準”!(魯迅先生表示沒說過,哈哈!不知道誰的名言的時候,都是魯迅先生的。),我們不但對底層知識、原理進行講解和總結,也同時進行實戰的操作,通過實際操作來驗證這些理論,可以加深印象,也更方便我們的理解。
3.經驗總結與分享
我們將在實戰和優化中,講解博主實際在運用過程中使用的遇到的一些“坑”。滿滿的坑,當我們從坑里爬出來的時候,我們就是強者。我們提前總結了這些坑,可以幫助大家建立在我們的經驗之上,少走或者不走彎路。我們已經在坑里搭好“電梯”,大家可以比較省力的看到坑里的風景,又不用吃力。這也是我們總結和分享的目的。運維或者對Redis感興趣的小伙伴們,來入坑吧,歡迎你們。我將會帶領你們從這里堅強的走過,變成強者!哈哈!
完整秘籍,博主將在51CTO訂閱專欄《Redis運維秘籍》中進行一一講解,歡迎大家學習。
------------------------------------
本文轉自one葉孤舟博客51CTO博客
Redis 運維
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。