資源描述:
《黑馬程序員:為什么更要用redis應該如何使用redis.docx》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、為什么緩存數(shù)據(jù)庫更要首選redis?如何使用redis?一、使用緩存數(shù)據(jù)庫為什么首選用redis?我們都知道,把一些熱數(shù)據(jù)存到緩存中可以極大的提高速度,那么問題來了,是用Redis好還是Memcached好呢,以下是它們兩者之間一些簡單的區(qū)別與比較:1.Redis不僅支持簡單的k/v類型的數(shù)據(jù),同時還支持list、set、zset(sortedset)、hash等數(shù)據(jù)結構的存儲,使得它擁有更廣闊的應用場景。2.Redis最大的亮點是支持數(shù)據(jù)持久化,它在運行的時候可以將數(shù)據(jù)備份在磁盤中,斷電或重啟后,緩存數(shù)據(jù)可以再次加載到內存中,只要Redis配置的合理,基本上不會丟失數(shù)據(jù)。3.R
2、edis支持主從模式的應用。4.Redis單個value的最大限制是1GB,而Memcached則只能保存1MB內的數(shù)據(jù)。5.Memcache在并發(fā)場景下,能用cas保證一致性,而Redis事務支持比較弱,只能保證事務中的每個操作連續(xù)執(zhí)行。6.性能方面,根據(jù)網友提供的測試,Redis在讀操作和寫操作上是略領先Memcached的。從上面這些看出,Redis的優(yōu)勢比Memcached大,不過Memcached也還是有它用武之地的。要是只選擇裝其中一種的話,還是要首選Redis。二、如何使用redis?你一定要知道的是:redis的key名要區(qū)分大小寫,在redis中除了和空格外,其
3、他的字符都可以做為key名,且長度不做限制,不過為了性能考慮,一般key名不要設置的太長。redis功能強大,支持數(shù)據(jù)類型豐富,以下是redis操作命令大全,基本上涵蓋了redis所有的命令!1、redis命令基本篇1)、【setkeyvalue】存入一個key和值。如:setmynamereson2)、【getkey】讀取一個key的值。3)、【delkey】刪除一個key。4)、【delkey1key2...keyN】刪除多個key。如:delmyname1myname25)、【existskey】判斷一個key是否存在。6)、【typekey】查看key的類型。7)、【re
4、namekeykeyNew】重命名key名。如:renamemynamemyname28)、【dbsize】查看當前庫中的key的條數(shù)。9)、【expirekeytime】指定key的過期時間,單位為秒。如:expiremyname9(設置9秒后過期)10)、【ttlkey】查看redis有多長時間過期,單位為秒。11)、【keys*】列出當前庫中所有的key名。12)、【keysa*】列出當前庫中所有以字符串“a"開頭的key。13)、【selectdb-index】選擇一個數(shù)據(jù)庫,如選擇第一個數(shù)據(jù)庫:select0;選擇第二個select1;默認有16個數(shù)據(jù)庫,這個值可以在r
5、edis.conf中配置。14)、【flushdb】清掉當前庫中所有的key(生產環(huán)境下需謹慎操作)。15)、【flushall】清掉所有庫中全部的key(生產環(huán)境下需謹慎操作)。16)、【msetkey1value1key2value2...keyNvalueN】一次性存入多個key和值。17)、【mgetkey1key2...keyN】一次性讀取多個key。18)、【incrkey】可以對key類型+1的操作(相當于編程語言里面的++),只能操作number型,操作字符串會報錯??蓪π轮颠M行操作。19)、【decrkey】可以對key類型-1的操作(相當于編程語言里面的--)
6、,只能操作number型,操作字符串會報錯。20)、【incrbykeynum】同incr,對key的值加num,比如incrbyaa10,對aa+10。21)、【decrbykeynum】同上,對key的值減num。22)、【appendkeyvalue】對指定key的字符串進行追加,如果key為整形,會被轉為字符串。如aa的值為9,執(zhí)行appendaa10后,會變成910。23)、【substrkeystartend】對key進行截取start到end個字符。如aa的值為:abcdef,執(zhí)行substraa23后,返回“cd”。2、redis鏈表類型(list)命令24)、【
7、lpushkeyvalue】往隊列頭部插入一個元素25)、【rpushkeyvalue】從尾部插入一個元素26)、【lpopkey】從隊列頭部刪掉一個元素27)、【rpopkey】從隊列尾部刪掉一個元素,并返回被刪除元素的值28)、【llen】返回隊列的長度,即里面有多少個元素。不存在key返回0,不為隊列類型的key會返回報錯。29)、【lrangekeystartend】返回隊列從start到end之間的元素信息。30)、【ltrimkeystartend】截取一個隊列,只保