redis 常見命令

redis數(shù)據(jù)結(jié)構(gòu) – strings

有人說伏穆,如果只使用redis中的字符串類型耻卡,且不使用redis的持久化功能屿脐,那么挺益,redis就和memcache非常非常的像了歉糜。這說明strings類型是一個很基礎(chǔ)的數(shù)據(jù)類型,也是任何存儲系統(tǒng)都必備的數(shù)據(jù)類型望众。

我們來看一個最簡單的例子:

setmystr"hello world!"http://設(shè)置字符串類型getmystr//讀取字符串類型

字符串類型的用法就是這么簡單匪补,因為是二進(jìn)制安全的伞辛,所以你完全可以把一個圖片文件的內(nèi)容作為字符串來存儲。

另外夯缺,我們還可以通過字符串類型進(jìn)行數(shù)值操作:

127.0.0.1:6379>setmynum"2"OK127.0.0.1:6379>getmynum"2"127.0.0.1:6379>incrmynum(integer) 3127.0.0.1:6379>getmynum"3"


看蚤氏,在遇到數(shù)值操作時,redis會將字符串類型轉(zhuǎn)換成數(shù)值踊兜。


redis數(shù)據(jù)結(jié)構(gòu) – lists

redis的另一個重要的數(shù)據(jù)結(jié)構(gòu)叫做lists竿滨,翻譯成中文叫做“列表”。

首先要明確一點捏境,redis中的lists在底層實現(xiàn)上并不是數(shù)組于游,而是鏈表,也就是說對于一個具有上百萬個元素的lists來說垫言,在頭部和尾部插入一個新元素贰剥,其時間復(fù)雜度是常數(shù)級別的,比如用LPUSH在10個元素的lists頭部插入新元素筷频,和在上千萬元素的lists頭部插入新元素的速度應(yīng)該是相同的蚌成。

雖然lists有這樣的優(yōu)勢,但同樣有其弊端凛捏,那就是笑陈,鏈表型lists的元素定位會比較慢,而數(shù)組型lists的元素定位就會快得多葵袭。

lists的常用操作包括LPUSH涵妥、RPUSH、LRANGE等坡锡。我們可以用LPUSH在lists的左側(cè)插入一個新元素蓬网,用RPUSH在lists的右側(cè)插入一個新元素,用LRANGE命令從lists中指定一個范圍來提取元素鹉勒。我們來看幾個例子:

//新建一個list叫做mylist帆锋,并在列表頭部插入元素"1"127.0.0.1:6379> lpush mylist"1"http://返回當(dāng)前mylist中的元素個數(shù)(integer)1//在mylist右側(cè)插入元素"2"127.0.0.1:6379> rpush mylist"2"(integer)2//在mylist左側(cè)插入元素"0"127.0.0.1:6379> lpush mylist"0"(integer)3//列出mylist中從編號0到編號1的元素127.0.0.1:6379>lrangemylist011)"0"2)"1"http://列出mylist中從編號0到倒數(shù)第一個元素127.0.0.1:6379>lrangemylist0-11)"0"2)"1"3)"2"


redis數(shù)據(jù)結(jié)構(gòu) – 集合

redis的集合,是一種無序的集合禽额,集合中的元素沒有先后順序锯厢。

集合相關(guān)的操作也很豐富,如添加新元素脯倒、刪除已有元素实辑、取交集、取并集藻丢、取差集等剪撬。我們來看例子:

//向集合myset中加入一個新元素"one"127.0.0.1:6379> sadd myset"one"(integer)1127.0.0.1:6379> sadd myset"two"(integer)1//列出集合myset中的所有元素127.0.0.1:6379> smembers myset1)"one"2)"two"http://判斷元素1是否在集合myset中,返回1表示存在127.0.0.1:6379> sismember myset"one"(integer)1//判斷元素3是否在集合myset中悠反,返回0表示不存在127.0.0.1:6379> sismember myset"three"(integer)0//新建一個新的集合yourset127.0.0.1:6379> sadd yourset"1"(integer)1127.0.0.1:6379> sadd yourset"2"(integer)1127.0.0.1:6379> smembers yourset1)"1"2)"2"http://對兩個集合求并集127.0.0.1:6379> sunion myset yourset1)"1"2)"one"3)"2"4)"two"

redis數(shù)據(jù)結(jié)構(gòu) – 有序集合

redis不但提供了無需集合(sets)残黑,還很體貼的提供了有序集合(sorted sets)馍佑。有序集合中的每個元素都關(guān)聯(lián)一個序號(score),這便是排序的依據(jù)梨水。

很多時候拭荤,我們都將redis中的有序集合叫做zsets,這是因為在redis中疫诽,有序集合相關(guān)的操作指令都是以z開頭的穷劈,比如zrange、zadd踊沸、zrevrange、zrangebyscore等等

//新增一個有序集合myzset社证,并加入一個元素baidu.com逼龟,給它賦予的序號是1:127.0.0.1:6379> zadd myzset1baidu.com(integer)1//向myzset中新增一個元素360.com,賦予它的序號是3127.0.0.1:6379> zadd myzset3360.com(integer)1//向myzset中新增一個元素google.com追葡,賦予它的序號是2127.0.0.1:6379> zadd myzset2google.com(integer)1//列出myzset的所有元素腺律,同時列出其序號,可以看出myzset已經(jīng)是有序的了宜肉。127.0.0.1:6379> zrange myzset0-1with scores1)"baidu.com"2)"1"3)"google.com"4)"2"5)"360.com"6)"3"http://只列出myzset的元素127.0.0.1:6379> zrange myzset0-11)"baidu.com"2)"google.com"3)"360.com"

redis數(shù)據(jù)結(jié)構(gòu) – 哈希

最后要給大家介紹的是hashes匀钧,即哈希。哈希是從redis-2.0.0版本之后才有的數(shù)據(jù)結(jié)構(gòu)谬返。

hashes存的是字符串和字符串值之間的映射之斯,比如一個用戶要存儲其全名、姓氏遣铝、年齡等等佑刷,就很適合使用哈希。

我們來看一個例子:

//建立哈希酿炸,并賦值127.0.0.1:6379> HMSETuser:001username antirez password P1pp0 age34OK//列出哈希的內(nèi)容127.0.0.1:6379> HGETALLuser:0011)"username"2)"antirez"3)"password"4)"P1pp0"5)"age"6)"34"http://更改哈希中的某一個值127.0.0.1:6379> HSETuser:001password12345(integer)0//再次列出哈希的內(nèi)容127.0.0.1:6379> HGETALLuser:0011)"username"2)"antirez"3)"password"4)"12345"5)"age"6)"34"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瘫絮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子填硕,更是在濱河造成了極大的恐慌麦萤,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扁眯,死亡現(xiàn)場離奇詭異壮莹,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)姻檀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進(jìn)店門垛孔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人施敢,你說我怎么就攤上這事周荐∠晾常” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵概作,是天一觀的道長腋妙。 經(jīng)常有香客問我,道長讯榕,這世上最難降的妖魔是什么骤素? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮愚屁,結(jié)果婚禮上济竹,老公的妹妹穿的比我還像新娘。我一直安慰自己霎槐,他們只是感情好送浊,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著丘跌,像睡著了一般袭景。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闭树,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天耸棒,我揣著相機(jī)與錄音,去河邊找鬼报辱。 笑死与殃,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碍现。 我是一名探鬼主播奈籽,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鸵赫!你這毒婦竟也來了衣屏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤辩棒,失蹤者是張志新(化名)和其女友劉穎狼忱,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體一睁,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡钻弄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了者吁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窘俺。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡形耗,死狀恐怖胃珍,靈堂內(nèi)的尸體忽然破棺而出辱匿,到底是詐尸還是另有隱情硬猫,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布对途,位于F島的核電站赦邻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏实檀。R本人自食惡果不足惜惶洲,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望膳犹。 院中可真熱鬧恬吕,春花似錦、人聲如沸须床。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侨颈。三九已至,卻和暖如春芯义,著一層夾襖步出監(jiān)牢的瞬間哈垢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工扛拨, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留耘分,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓绑警,卻偏偏與公主長得像求泰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子计盒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容