《redis in action》-初識(shí)Redis

1.什么是Redis

? ? ? ?Redis 是一個(gè)速度非陈阄ィ快的非關(guān)系型數(shù)據(jù)庫(non-relational database),它可以存儲(chǔ)鍵與5種不同類型的值之間的映射,可以將存儲(chǔ)在內(nèi)存的鍵值對(duì)數(shù)據(jù)持久化到硬盤嗅义,可以使用復(fù)制特性來擴(kuò)展讀性能,還可以使用客戶端分片來擴(kuò)展寫性能媳维。

2.Redis與其他軟件的區(qū)別


Redis與其他數(shù)據(jù)庫的區(qū)別

3.為什么要使用Redis

1.對(duì)比Memcached济锄,元素列表的CRUD比較

memcached使用APPEND命令來管理元素列表绒净,用戶可以將元素追加到一個(gè)字符串的末尾,并將那個(gè)字符串當(dāng)作列表來使用洽议。但刪除這些元素時(shí)宗收,memcached采用的辦法是通過黑名單來隱藏列表里面的元素,從而避免對(duì)元素執(zhí)行添加或刪除等操作亚兄。

相反镜雨,redis的LIST和SET允許用戶直接添加或者刪除元素

2.存儲(chǔ)長(zhǎng)期的報(bào)告數(shù)據(jù)時(shí),并將這些報(bào)告數(shù)據(jù)用作固定時(shí)間范圍內(nèi)的聚合數(shù)據(jù)場(chǎng)景

一般的做法是:先將各個(gè)行插入一個(gè)報(bào)告表里面儿捧,之后再通過掃描這些行來手機(jī)聚合數(shù)據(jù)荚坞,并根據(jù)收集到的聚合數(shù)據(jù)來更新聚合表中已有的那些行。插入行的速度非撤贫埽快颓影,因?yàn)橹粫?huì)在硬盤文件末尾進(jìn)行寫入動(dòng)作。但是對(duì)表里面的行進(jìn)行更新卻很慢懒鉴,因?yàn)椴粌H要磁盤隨機(jī)讀诡挂,還可能要磁盤隨機(jī)寫操作碎浇。

Redis就可以通過INCR命令及其變種來計(jì)算聚合數(shù)據(jù),并且因?yàn)镽edis將數(shù)據(jù)存儲(chǔ)在內(nèi)存里璃俗,而且發(fā)送給Redis的命令請(qǐng)求并不需要經(jīng)過典型查詢分析器或者查詢優(yōu)化器進(jìn)行處理奴璃,所以Redis存儲(chǔ)的數(shù)據(jù)執(zhí)行隨機(jī)寫的速度總是非常迅速的。

4.Redis的安裝(linux系統(tǒng))

安裝redis需要c語言的編譯環(huán)境城豁。如果沒有g(shù)cc需要在線安裝苟穆。yum install gcc-c++

安裝步驟:

第一步:redis的源碼包上傳到linux系統(tǒng)。

第二步:解壓縮redis唱星。

第三步:編譯雳旅。進(jìn)入redis源碼目錄。make

第四步:安裝间聊。make install PREFIX=/usr/local/redis

PREFIX參數(shù)指定redis的安裝目錄攒盈。一般軟件安裝到/usr目錄下。

連接redis

redis的啟動(dòng):

前端啟動(dòng):在redis的安裝目錄下直接啟動(dòng)redis-server

[root@localhost bin]# ./redis-server

后臺(tái)啟動(dòng):

把/root/redis-3.0.0/redis.conf復(fù)制到/usr/local/redis/bin目錄下

[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/

修改上面復(fù)制的redis.conf:

[root@localhost redis-3.0.0]# vi redis.conf

#啟動(dòng)redis

[root@localhost bin]# ./redis-server redis.conf

查看redis進(jìn)程:

[root@localhost bin]# ps aux|grep redis

root????? 5190? 0.1? 0.3? 33936? 1712 ???????? Ssl? 18:23?? 0:00 ./redis-server *:6379???

root????? 5196? 0.0? 0.1?? 4356?? 728 pts/0??? S+?? 18:24?? 0:00 grep redis

[root@localhost bin]#

連接和關(guān)閉連接redis:

使用Redis-cli進(jìn)行連接:

[root@localhost bin]# ./redis-cli

默認(rèn)連接localhost運(yùn)行在6379端口的redis服務(wù)哎榴。

[root@localhost bin]# ./redis-cli -h 192.168.25.153 -p 6379

-h:連接的服務(wù)器的地址

-p:服務(wù)的端口號(hào)

關(guān)閉redis:

[root@localhost bin]# ./redis-cli shutdown


5.Redis數(shù)據(jù)類型的用法

String:

常用命令:

GET:獲取存儲(chǔ)在給定鍵中的值

SET:設(shè)置存儲(chǔ)在給定鍵中的值

DEL:刪除存儲(chǔ)在給定鍵中的值

String

LIST:

RPUSH:將給定值推入列表的右端

LRANGE:獲取列表在給定范圍上的所有值

LINDEX:獲取列表在給定位置上的單個(gè)元素

LPOP:從列表的左端彈出一個(gè)值型豁,并返回被彈出的值

LIST

SET:

SADD:將給定元素添加到集合

SMEMBERS:返回集合包含的所有元素

SISMEMBER:檢查給定元素是否存在于集合中

SREM:如果給定的uansu存入于集合中,那么移除這個(gè)元素

SET

HASH:

HSET:在散列里面關(guān)聯(lián)起給定的鍵值對(duì)

HGET:獲取指定散列鍵的值

HGETALL : 獲取散列包含的所有鍵值對(duì)

HDEL:如果給定鍵存在于散列里面尚蝌,那么移除這個(gè)鍵

hash

ZSET:

ZADD:將一個(gè)帶有給定分?jǐn)?shù)的成員添加到有序集合中

ZRANGE:根據(jù)元素在有序排列中所處的位置偷遗,從有序集合里面獲取多個(gè)元素

ZRANGEBYSCORE : 獲取有序集合在給定分值范圍內(nèi)的所有元素

ZREM:如果給定成員存在于有序集合,那么移除這個(gè)成員

ZSET
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末驼壶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子喉酌,更是在濱河造成了極大的恐慌热凹,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泪电,死亡現(xiàn)場(chǎng)離奇詭異般妙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)相速,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門碟渺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人突诬,你說我怎么就攤上這事苫拍。” “怎么了旺隙?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵绒极,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我蔬捷,道長(zhǎng)垄提,這世上最難降的妖魔是什么榔袋? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮铡俐,結(jié)果婚禮上凰兑,老公的妹妹穿的比我還像新娘。我一直安慰自己审丘,他們只是感情好吏够,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著备恤,像睡著了一般稿饰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上露泊,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天喉镰,我揣著相機(jī)與錄音,去河邊找鬼惭笑。 笑死侣姆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沉噩。 我是一名探鬼主播捺宗,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼川蒙!你這毒婦竟也來了蚜厉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤畜眨,失蹤者是張志新(化名)和其女友劉穎昼牛,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體康聂,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贰健,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了恬汁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伶椿。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖氓侧,靈堂內(nèi)的尸體忽然破棺而出脊另,到底是詐尸還是另有隱情,我是刑警寧澤约巷,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布尝蠕,位于F島的核電站,受9級(jí)特大地震影響载庭,放射性物質(zhì)發(fā)生泄漏看彼。R本人自食惡果不足惜廊佩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望靖榕。 院中可真熱鬧标锄,春花似錦、人聲如沸茁计。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽星压。三九已至践剂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間娜膘,已是汗流浹背逊脯。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留竣贪,地道東北人军洼。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像演怎,于是被迫代替她去往敵國(guó)和親匕争。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

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

  • 1 Redis介紹1.1 什么是NoSql為了解決高并發(fā)、高可擴(kuò)展歹叮、高可用跑杭、大數(shù)據(jù)存儲(chǔ)問題而產(chǎn)生的數(shù)據(jù)庫解決方...
    克魯?shù)吕?/span>閱讀 5,297評(píng)論 0 36
  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 5,746評(píng)論 0 10
  • NOSQL類型簡(jiǎn)介鍵值對(duì):會(huì)使用到一個(gè)哈希表盗胀,表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù),如redis锄贼,volde...
    MicoCube閱讀 3,985評(píng)論 2 27
  • redis是一個(gè)以key-value存儲(chǔ)的非關(guān)系型數(shù)據(jù)庫票灰。有五種數(shù)據(jù)類型,string宅荤、hashes屑迂、list、s...
    林ze宏閱讀 996評(píng)論 0 0
  • 一冯键、Redis基礎(chǔ) 1.概述 Redis是一個(gè)開源惹盼,高級(jí)的鍵值存儲(chǔ)和一個(gè)適用的解決方案,用于構(gòu)建高性能惫确,可擴(kuò)展的W...
    鄭元吉閱讀 301評(píng)論 0 0