redis使用筆記1

1. 下載安裝

  • 下載
    • 方式:wget http://download.redis.io/releases/redis-5.0.5.tar.gz(2019-6-19最新)圣蝎;
  • 解壓
    • tar -zxvf redis-5.0.5.tar.gz
  • 移動至/usr/local目錄下
    • mv ./redis-5.0.5 /usr/local/redis
  • 進(jìn)入目錄
    • cd /usr/local/redis毁嗦;
    redis目錄結(jié)構(gòu).png
  • 編譯
    • make
    • make后報錯如下:
      編譯報錯.png
    • 解決方式參考:https://blog.csdn.net/wlwlwlwl015/article/details/50444672
    • 解決make報錯:安裝gcc
      • yum -y install gcc automake autoconf libtool make
        安裝gcc成功.png
    • 重新編譯
      • make
        編譯成功.png

        注意,如果編譯失敗則將redis文件夾刪除重新解壓后編譯嘿悬。
  • 編譯測試
    • 如編譯成功后提示锋爪,執(zhí)行make test
    • make test報錯


      編譯測試報錯.png
    • 解決make test報錯
      • wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
      • tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
      • cd /usr/local/tcl8.6.1/unix/
      • ./configure
      • make
      • make install
    • 再次make test
      • 大部分[ok],有警告:


        編譯測試結(jié)果.png

        (原因不清楚姥宝,繼續(xù)往下= =翅萤!)

  • 安裝
    • make install
    屏幕快照 2019-06-19 下午2.43.29.png

    成功!

    • redis-server redis服務(wù)器
    • redis-cli redis命令行客戶端
    • redis-benchmark redis性能測試工具
    • redis-check-aof AOF文件修復(fù)工具
    • redis-check-rdb RDB文件檢索工具

2. 配置

  • 復(fù)制配置文件到/etc/redis目錄
    cp /usr/local/redis/redis.conf /etc/redis腊满;
  • 配置文件說明
    參考:https://www.cnblogs.com/tmpt/p/redis_conf_detail_annotation.html套么;
  • 主要配置
    • bind 127.0.0.1 # 綁定ip,如果需要遠(yuǎn)程訪問,可注釋碳蛋,或綁定多個真實ip胚泌;
    • port 6379 # 端口;
    • daemonize yes # 以守護(hù)進(jìn)程運(yùn)行肃弟,不會在命令行阻塞玷室,類似于服務(wù)零蓉;
    • dbfilename dump.rdb # 數(shù)據(jù)文件;
    • dir /var/lib/redis # 數(shù)據(jù)文件存儲路徑穷缤;
    • logfile /var/log/redis/redis-server.log # 日志文件敌蜂;
    • database 16 # 數(shù)據(jù)庫,默認(rèn)16個津肛;
    • slaveof # 主從配置時使用章喉;

3. 主要命令

  • 服務(wù)器端:
    • 啟動:
      1. cd /usr/local/bin;./redis-server &
      2. redis-server /etc/redis/redis.conf # 加載指定的配置文件啟動
    • 停止:

      kill -9 pid

  • 客戶端:
    • 啟動:

      redis-cli

    • 測試:

      ping

    • 切換數(shù)據(jù)庫:

      select n # 默認(rèn)是0,即第一個數(shù)據(jù)庫

4. 操作

redis數(shù)據(jù)結(jié)構(gòu)為key-value形式快耿,key為字符串囊陡,不可重復(fù)。值共有五種類型:

  • 字符串string
  • 列表list
  • 哈希hash
  • 集合set
  • 有序集合zset

4.1 鍵命令

  • 查找鍵
    • keys pattern # pattren支持正則表達(dá)式
  • 查看鍵是否存在
    • exists key # 返回1表示在掀亥,0表示不在
  • 查看鍵類型
    • type key # 查看值得類型
  • 刪除鍵
    • del key1 key2... # 刪除鍵
  • 設(shè)置鍵過期時間
    • expire key seconds # 設(shè)置小于等于0的數(shù)相當(dāng)于刪除鍵
  • 查看鍵有效時間
    • ttl key # -1表示永久有效撞反,但expire key -1只能刪除鍵,不能當(dāng)成是設(shè)置永久有效搪花,可以通過set key value來讓有有效時間的key永久有效遏片。setex key seconds value中seconds只能為正整數(shù)

4.2 字符串操作

redis中字符串類型value最多可以容納512M大小數(shù)據(jù)的長度。
注意下面命令中key和value不加引號也是可以的撮竿。

  • 添加/修改
    • set key value # 鍵沒有則添加吮便,鍵存在則修改
    • setex key seconds value # 設(shè)置過期時間,單位:秒
    • mset key1 value1 key2 value2 ... # 一次設(shè)置多個鍵值
    • append key value # 在key對應(yīng)原value后面拼加新的字符串作為新value幢踏。如果key不存在髓需,則添加key-value
  • 獲取
    • get key
    • mget key1 key2 ... # 根據(jù)多個鍵獲取多個值

4.3 hash操作(值類型為string)

  • 添加/修改
    • hset key field value # 設(shè)置單個屬性
    • hset/hmset key field1 value1 field2 value2... # 設(shè)置多個屬性
  • 獲取
    • hkeys key # 獲取指定鍵所有屬性
    • hget key field # 獲取單個屬性的值
    • hmget key field1 field2... # 獲取多個屬性的值,注意獲取多個時只能hmget房蝉,hget不行
    • havls key # 獲取所有屬性的值
  • 刪除
    • del key # 刪除hash鍵
    • hdel key field1 field2... # 刪除key的多個屬性

4.4 list操作(元素類型為string)

按照插入順序排序

  • 添加
    • lpush key value1 value2 ... # 在左側(cè)插入數(shù)據(jù)
    • rpush key value1 value2 ... # 在右側(cè)插入數(shù)據(jù)
    • linsert key before|after value value1僚匆, value2... # 在元素value左/右插入元素
  • 獲取
    • lrange key start stop # 獲取從start到stop索引的所有元素,索引可以為負(fù)數(shù)搭幻,-1表示最后一個元素
  • 設(shè)置
    • lset key index value # 設(shè)置指定索引位置的元素
  • 刪除
    • lrem key count value # 將列表前count次出現(xiàn)的value刪除咧擂,count>0 從頭到尾刪除,count<0 從尾到頭刪除檀蹋,count=0 刪除全部

4.5 set操作(元素類型為string)

set類型沒有修改操作
元素具有唯一性松申,不重復(fù)(重復(fù)的加不進(jìn)去)

  • 添加
    • sadd key value1 value2
  • 獲取
    • smembers key
  • 刪除
    • srem key value1 # 刪除指定元素

4.6 zset操作(元素類型為string)

元素唯一,不重復(fù)俯逾,有序

  • 添加
    • zadd key score1 value1, score2 value2 ... # score表示權(quán)重贸桶,排序規(guī)則用
  • 獲取
    • zrange key start stop # 獲取指定范圍內(nèi)的元素
    • zrangebyscore key min max # 返回score值在min到max之間的元素
    • zscore key member # 返回元素member中的score值
  • 刪除
    • zrem key member1 member2 ... # 刪除指定元素
    • zremrangebyscore key min max... # 刪除權(quán)重在min到max直接的元素
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市桌肴,隨后出現(xiàn)的幾起案子刨啸,更是在濱河造成了極大的恐慌,老刑警劉巖识脆,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件设联,死亡現(xiàn)場離奇詭異善已,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)离例,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門换团,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宫蛆,你說我怎么就攤上這事艘包。” “怎么了耀盗?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵想虎,是天一觀的道長。 經(jīng)常有香客問我叛拷,道長舌厨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任忿薇,我火速辦了婚禮裙椭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘署浩。我一直安慰自己揉燃,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布筋栋。 她就那樣靜靜地躺著炊汤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弊攘。 梳的紋絲不亂的頭發(fā)上抢腐,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機(jī)與錄音肴颊,去河邊找鬼。 笑死渣磷,一個胖子當(dāng)著我的面吹牛婿着,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播醋界,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼竟宋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了形纺?” 一聲冷哼從身側(cè)響起丘侠,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎逐样,沒想到半個月后蜗字,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體打肝,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年挪捕,在試婚紗的時候發(fā)現(xiàn)自己被綠了粗梭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡级零,死狀恐怖断医,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情奏纪,我是刑警寧澤鉴嗤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站序调,受9級特大地震影響醉锅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜炕置,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一荣挨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧朴摊,春花似錦默垄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至介杆,卻和暖如春鹃操,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背春哨。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工荆隘, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人赴背。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓椰拒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親凰荚。 傳聞我的和親對象是個殘疾皇子燃观,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

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