01_Redis介紹和安裝運(yùn)行

redis主題

01_Redis介紹和安裝運(yùn)行
02_Jedis的介紹和使用
03_Redis數(shù)據(jù)類型和數(shù)據(jù)操作的命令
04_Redis集群

什么是redis

redis是一個(gè)nosql(not only sql不僅僅只有sql)數(shù)據(jù)庫.翻譯成中文叫做非關(guān)系型數(shù)據(jù)庫.

關(guān)系型數(shù)據(jù)庫與非關(guān)系型數(shù)據(jù)庫

  • 關(guān)系型數(shù)據(jù)庫:以二維表形式存儲(chǔ)數(shù)據(jù)
  • 非關(guān)系型數(shù)據(jù)庫: 以鍵值對(duì)形式存儲(chǔ)數(shù)據(jù)(key, value形式)

出處
redis是一家意大利的創(chuàng)業(yè)公司出的,然后后來這家公司被VMware贊助. redis底層用C語句編寫.

優(yōu)缺點(diǎn)
優(yōu)點(diǎn):存取速度快,官方稱讀取速度會(huì)達(dá)到30萬次每秒,寫速度在10萬次每秒左右,具體限制于硬件.
缺點(diǎn):對(duì)持久化支持不夠良好,
redis是將數(shù)據(jù)存放到內(nèi)存中,由于內(nèi)容存取速度快所以redis被廣泛應(yīng)用在互聯(lián)網(wǎng)項(xiàng)目中,
所以redis一般不作為數(shù)據(jù)的主數(shù)據(jù)庫存儲(chǔ),一般配合傳統(tǒng)的關(guān)系型數(shù)據(jù)庫使用.

redis應(yīng)用領(lǐng)域

  • 分布式緩存
  • 分布式session
  • 保存博客或者論壇的留言回復(fù)等.
  • 總之是用在數(shù)據(jù)量大,并發(fā)量高的情況下

怎么使用

  • redis主要就是使用命令來進(jìn)行操作,java端在代碼中可以使用Jedis來操作redis服務(wù)器
  • redis數(shù)據(jù)類型
  • 字符串String
  • 列表list redis中使用的是雙向循環(huán)鏈表來實(shí)現(xiàn)的list,在redis中更像棧
  • 散列Hash 一般應(yīng)用于將redis作為分布式緩存,存儲(chǔ)數(shù)據(jù)庫中的數(shù)據(jù)對(duì)象
  • 集合set set中數(shù)據(jù)是無序的并且不允許重復(fù)
  • 有序集合zset redis會(huì)根據(jù)分?jǐn)?shù)自動(dòng)排序,這里可以使用在學(xué)生成績(jī)排序,或者是手機(jī)應(yīng)用商店流行軟件排名等需求中

redis持久化方案:

  • rdb:可以設(shè)置間隔多長(zhǎng)時(shí)間保存一次(Redis不用任何配置默認(rèn)的持久化方案)
  • 優(yōu)點(diǎn):讓redis的數(shù)據(jù)存取速度變快
  • 缺點(diǎn):服務(wù)器斷電時(shí)會(huì)丟失部分?jǐn)?shù)據(jù)(數(shù)據(jù)的完整性得不到保證)
  • aof:可以設(shè)置實(shí)時(shí)保存
  • 優(yōu)點(diǎn):持久化良好,能包裝數(shù)據(jù)的完整性
  • 缺點(diǎn):大大降低了redis系統(tǒng)的存取速度

主從復(fù)制:

這里使用了心跳檢測(cè)機(jī)制,主從復(fù)制必須使用rdb持久化方式
  從服務(wù)器一般是只讀的,保證主服務(wù)器和從服務(wù)器的數(shù)據(jù)一致性

安裝與運(yùn)行redis

安裝環(huán)境

  • 安裝redis需要先將官網(wǎng)下載的源碼進(jìn)行編譯,編譯依賴gcc環(huán)境虐块,如果沒有g(shù)cc環(huán)境胚宦,需要安裝gcc:yum install gcc-c++

安裝

  • 本教程使用redis3.0版本。3.0版本主要增加了redis集群功能胸嘴。
  • 從官網(wǎng)下載:所有版本地址绪杏,本例使用:3.2.8版本下載地址轮锥,
  • 將redis-3.0.0.tar.gz拷貝到/usr/local
  • 解壓源碼:tar -zxvf redis-3.0.0.tar.gz
  • 進(jìn)入解壓后的目錄進(jìn)行編譯:
    cd /usr/local/redis-3.0.0
    make
  • 安裝到指定目錄,如/usr/local/redis
    cd /usr/local/redis-3.0.0
    make PREFIX=/usr/local/redis install
  • redis.conf
  • redis.conf是redis的配置文件,redis.conf在redis源碼目錄毡琉。
  • 注意修改port作為redis進(jìn)程的端口,port默認(rèn)6379铁瞒。
  • 拷貝配置文件到安裝目錄下
    進(jìn)入源碼目錄,里面有一份配置文件 redis.conf桅滋,然后將其拷貝到安裝路徑下
    cd /usr/local/redis
    mkdir conf
    cp /usr/local/redis-3.0.0/redis.conf /usr/local/redis/bin
安裝目錄/bin下的文件列表
  • 修改配置文件慧耍,設(shè)置為后端啟動(dòng):vi redis.conf

    配置后端啟動(dòng),默認(rèn)為no,修改為yes

  • 修改配置文件身辨,注釋掉:#bind 127.0.0.1

  • 修改配置文件,取消保護(hù)模式芍碧,將protected-mode yes修改為protected-mode no(3.2.8版本需要煌珊,低版本不需要配置)

  • 安裝目錄/bin下每個(gè)文件的作用


    /bin下面文件說明

      redis3.0新增的redis-sentinel是redis集群管理工具可實(shí)現(xiàn)高可用。

  • 帶配置文件啟動(dòng):
    ./redis-server redis.conf

redis啟動(dòng)

前端模式啟動(dòng)
  直接運(yùn)行bin/redis-server將以前端模式啟動(dòng)泌豆,前端模式啟動(dòng)的缺點(diǎn)是ssh命令窗口關(guān)閉則redis-server程序結(jié)束定庵,不推薦使用此方法。如下圖:

前端模式啟動(dòng)

后端模式啟動(dòng)

  • 修改redis.conf配置文件踪危, daemonize yes以后端模式啟動(dòng)蔬浙。

  • 執(zhí)行如下命令啟動(dòng)redis:
    cd /usr/local/redis
    ./bin/redis-server ./redis.conf

    查看redis端口

  • redis默認(rèn)使用6379端口。

  • 也可vi redis.conf文件贞远,修改端口號(hào):

    修改默認(rèn)端口

  • 帶配置文件啟動(dòng):./redis-server redis.conf畴博,這樣就是后端模式啟動(dòng)

redis客戶端

在redis的安裝目錄中有redis的客戶端,即redis-cli(Redis Command Line Interface)蓝仲,它是Redis自帶的基于命令行的Redis客戶端俱病。
  redis-cli默認(rèn)連接本機(jī)的redis,本機(jī)的redis沒有啟動(dòng)則報(bào)connection refused的錯(cuò)誤杂曲。

  • 指定連接redis服務(wù)的ip和端口:
    ./redis-cli -h 你的ip -p 6379

redis多數(shù)據(jù)庫

  • redis實(shí)例
      一個(gè)redis進(jìn)程就是一個(gè)redis實(shí)例庶艾,一臺(tái)服務(wù)器可以同時(shí)有多個(gè)redis實(shí)例袁余,不同的redis實(shí)例提供不同的服務(wù)端口對(duì)外提供服務(wù)擎勘,每個(gè)redis實(shí)例之間互相影響。每個(gè)redis實(shí)例都包括自己的數(shù)據(jù)庫颖榜,數(shù)據(jù)庫中可以存儲(chǔ)自己的數(shù)據(jù)棚饵。
  • 多數(shù)據(jù)庫測(cè)試
      一個(gè)Redis實(shí)例可以包括多個(gè)數(shù)據(jù)庫,客戶端可以指定連接某個(gè)redis實(shí)例的哪個(gè)數(shù)據(jù)庫掩完,就好比一個(gè)mysql中創(chuàng)建多個(gè)數(shù)據(jù)庫噪漾,客戶端連接時(shí)指定連接哪個(gè)數(shù)據(jù)庫。
      一個(gè)redis實(shí)例最多可提供16個(gè)數(shù)據(jù)庫且蓬,下標(biāo)從0到15欣硼,客戶端默認(rèn)連接第0號(hào)數(shù)據(jù)庫,也可以通過select選擇連接哪個(gè)數(shù)據(jù)庫恶阴,如下連接1號(hào)庫:



    在1號(hào)庫中查詢上節(jié)設(shè)置的數(shù)據(jù)诈胜,結(jié)果查詢不到:



    重新選擇第0號(hào)數(shù)據(jù)庫,查詢數(shù)據(jù):

    如果選擇一個(gè)不存在數(shù)據(jù)庫則會(huì)報(bào)錯(cuò):

    注意:redis不支持修改數(shù)據(jù)庫的名稱冯事,只能通過select 0焦匈、select 1...選擇數(shù)據(jù)庫。

啟動(dòng)多個(gè)redis進(jìn)程

方式一:

  • 啟動(dòng)時(shí)指定端口可在一臺(tái)服務(wù)器啟動(dòng)多個(gè)redis進(jìn)程昵仅。
    cd /usr/local/redis/bin
    ./redis-server ./redis.conf --port 6380

方式二(推薦)

  • 創(chuàng)建多個(gè)redis目錄缓熟,以端口號(hào)命名,比如:創(chuàng)建6379、6380兩個(gè)目錄够滑,將redis的安裝文件bin和conf拷貝至這兩個(gè)目錄垦写。
  • 修改6379目錄下的redis.conf設(shè)置端口號(hào)為6379
  • 修改6380目錄下的redis.conf設(shè)置端口號(hào)為6380
  • 啟動(dòng)6379目錄下的redis-server程序:
    cd 6379
    ./redis-server . /redis.conf
  • 啟動(dòng)6380目錄下的redis-server程序:
    cd 6380
    ./redis-server . /redis.conf

redis關(guān)閉

  • 前端模式,在啟動(dòng)窗口按ctrl+c就可以關(guān)閉彰触,下面的關(guān)閉方式都是針對(duì)后端模式啟動(dòng)的時(shí)候梯澜。
  • 強(qiáng)制關(guān)閉:kill -9 進(jìn)程號(hào)
  • 通過客戶端關(guān)閉:./redis-cli shutdown
  • 強(qiáng)制關(guān)閉可能會(huì)有數(shù)據(jù)丟失,通過客戶端關(guān)閉會(huì)先保存數(shù)據(jù)再關(guān)閉
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末渴析,一起剝皮案震驚了整個(gè)濱河市晚伙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌俭茧,老刑警劉巖咆疗,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異母债,居然都是意外死亡午磁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門毡们,熙熙樓的掌柜王于貴愁眉苦臉地迎上來迅皇,“玉大人,你說我怎么就攤上這事衙熔〉峭牵” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵红氯,是天一觀的道長(zhǎng)框咙。 經(jīng)常有香客問我,道長(zhǎng)痢甘,這世上最難降的妖魔是什么喇嘱? 我笑而不...
    開封第一講書人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮塞栅,結(jié)果婚禮上者铜,老公的妹妹穿的比我還像新娘。我一直安慰自己放椰,他們只是感情好作烟,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著庄敛,像睡著了一般俗壹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上藻烤,一...
    開封第一講書人閱讀 52,696評(píng)論 1 312
  • 那天绷雏,我揣著相機(jī)與錄音头滔,去河邊找鬼。 笑死涎显,一個(gè)胖子當(dāng)著我的面吹牛坤检,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播期吓,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼早歇,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了讨勤?” 一聲冷哼從身側(cè)響起箭跳,我...
    開封第一講書人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎潭千,沒想到半個(gè)月后谱姓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡刨晴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年屉来,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狈癞。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡茄靠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蝶桶,到底是詐尸還是另有隱情慨绳,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布莫瞬,位于F島的核電站儡蔓,受9級(jí)特大地震影響郭蕉,放射性物質(zhì)發(fā)生泄漏疼邀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一召锈、第九天 我趴在偏房一處隱蔽的房頂上張望旁振。 院中可真熱鬧,春花似錦涨岁、人聲如沸拐袜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蹬铺。三九已至,卻和暖如春秉撇,著一層夾襖步出監(jiān)牢的瞬間甜攀,已是汗流浹背秋泄。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留规阀,地道東北人恒序。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像谁撼,于是被迫代替她去往敵國和親歧胁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

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