日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

NoSQL数据库之Redis数据库:Redis的介绍与安装部署(redis-2.8.19/3.2.5)

發(fā)布時(shí)間:2024/9/27 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NoSQL数据库之Redis数据库:Redis的介绍与安装部署(redis-2.8.19/3.2.5) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


NoSQLNoSQL = Not Only SQL,它指的是非關(guān)系型的數(shù)據(jù)庫。隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)的關(guān)系數(shù)據(jù)庫在應(yīng)付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動態(tài)網(wǎng)站已經(jīng)顯的力不從心,暴露了很多難以克服的問題,而非關(guān)系型的數(shù)據(jù)庫則由于其本身的特點(diǎn)得到了非常迅速的發(fā)展。

?

NoSQL的特點(diǎn):

特點(diǎn)一:

是以key-value形式存儲,和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫不一樣,不一定遵循傳統(tǒng)數(shù)據(jù)庫的一些基本要求,比如說遵循SQL標(biāo)準(zhǔn)、ACID屬性、表結(jié)構(gòu)等等,這類數(shù)據(jù)庫主要有以下特點(diǎn):非關(guān)系型的、分布式的、開源的、水平可擴(kuò)展的。

?

特點(diǎn)二:

  • 處理超大量的數(shù)據(jù)比Mysql等有優(yōu)勢。

  • 運(yùn)行在便宜的PC服務(wù)器集群上。

  • 擊碎了性能瓶頸。(MySQL的時(shí)候需要很多優(yōu)化,但是NoSQL不需要,性能非常高)

  • ?

    特點(diǎn)三(性能方面):

  • 對數(shù)據(jù)高并發(fā)讀寫。(對MySQL進(jìn)行上萬次讀的請求可能頂?shù)米?#xff0c;但是如果對MySQL進(jìn)行上萬次的寫的時(shí)候,硬盤IO要求就比較高,效率就比較低下,但是NoSQL就比較方面。)

  • 對海量數(shù)據(jù)的高效率存儲和訪問。

  • 對數(shù)據(jù)的高可擴(kuò)展和高可用性。(NoSQL可以增加一個(gè)服務(wù)器節(jié)點(diǎn),使用NoSQL來做分布式比較簡單,因?yàn)闆]有固定的表結(jié)構(gòu),所以更改比較方便)。

  • ?

    Redis的介紹:

  • Redis是一個(gè)開源的,先進(jìn)的key-value存儲。它通常被稱為數(shù)據(jù)結(jié)構(gòu)服務(wù)器,因?yàn)殒I可以包含字符串,哈希,鏈表,集合和有序集合。

  • Redis是一個(gè)key-value存儲系統(tǒng)。它支持存儲的value類型很多,包括string(字符串)list(鏈表)set(集合)zset(有序集合)。這些數(shù)據(jù)類型都支持push/popadd/remove及取交集和并集及更豐富的操作,Redis支持各種不同方式的序列。為了保證效率,都是緩存在內(nèi)存中的,它也可以周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件。

  • ?

    Redis的使用場合:

    在新浪微博Redis的部署場景很多,大概分為如下2種:

  • 應(yīng)用程序直接訪問Redis數(shù)據(jù)庫。

  • 應(yīng)用程序直接訪問Redis,只有當(dāng)Redis訪問失敗時(shí)才訪問MySQL

  • ?

    把大象裝冰箱的過程:

    ???Redis數(shù)據(jù)庫提供多中靈活的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)操作,為不同的大象構(gòu)建不同的冰箱。

    ?

    Redis具體的適用場景:

  • 取最新N個(gè)數(shù)據(jù)庫的操作

  • 排行榜應(yīng)用,取TOP N操作

  • 需要精確設(shè)定過期時(shí)間的應(yīng)用

  • 計(jì)數(shù)器應(yīng)用

  • Uniq操作,獲取某段時(shí)間所有數(shù)據(jù)排重值

  • 實(shí)時(shí)系統(tǒng),反垃圾系統(tǒng)。

  • Pub/Sub構(gòu)建實(shí)時(shí)消息系統(tǒng)(Redis獨(dú)有的發(fā)布和訂閱系統(tǒng))

  • 構(gòu)建隊(duì)列系統(tǒng)

  • 緩存。

  • ?

    Redis的安裝與部署

    第一步:

    Redis的官方下載站是:http://redis.io/download

    最好使用Stable版本(穩(wěn)定版本)。

    ?

    第二步:編譯源程序

    tar zxvf redis-2.8.19.tar.gz

    cd redis-2.8.19

    make

    cd src && make install??(注意權(quán)限問題)

    網(wǎng)上安裝方式:

    $ wget http://download.redis.io/releases/redis-2.8.19.tar.gz

    $ tar xzf redis-2.8.19.tar.gz

    $ cd redis-2.8.19

    $ make

    ?

    ?

    步驟三:

    移動文件,便于管理:

    mkdir –p /usr/local/redis/bin

    mkdir –p /usr/local/redis/etc

    mv /home/toto/redis/redis-2.8.19/redis.conf? /usr/local/redis/etc/

    cd src

    mv mkreleasehdr.sh redis-benchmarkredis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin/???(也就是說移動的是所有的可執(zhí)行的文件)

    ?

    第四步:啟動Redis服務(wù):

    /usr/local/redis/bin/redis-server?(或者到/usr/local/redis/bin目錄下,執(zhí)行:./redis-server)

    可以指定配置文件:

    /usr/local/redis/etc/redis.conf (可以在./redis-server后面加上這個(gè)配置文件)

    Redis服務(wù)端的默認(rèn)連接端口是6379?mongodb的端口號是:2701728017端口)

    ?

    第五步:

    客戶端連接:/usr/local/redis/bin/redis-cli?(cliclient的縮寫)

    退出客戶端的方式是通過exit或者通過quit的方式。

    ?

    步驟六:

    停止Redis實(shí)例

    我們可以使用/usr/local/redis/bin/redis-cli然后再

    shutdown

    也可以使用pkill redis-server??或者kill -9來實(shí)現(xiàn)。

    ?

    Redis的配置:

    daemonize:如果需要在后臺運(yùn)行,把該項(xiàng)改為yes

    pidfile:配置多個(gè)pid的地址默認(rèn)在/var/run/redis.pid

    bind:綁定ip,設(shè)置后只接受來自該ip的請求

    port:監(jiān)聽端口,默認(rèn)為6379

    timeout:設(shè)置客戶端連接時(shí)的超時(shí)時(shí)間,單位為秒

    loglevel:分為4級,debugverbosenoticewarning

    logfile:配置log文件地址

    databases:設(shè)置數(shù)據(jù)庫的個(gè)數(shù),默認(rèn)使用的數(shù)據(jù)庫為0

    save:設(shè)置redis進(jìn)行數(shù)據(jù)庫鏡像的頻率。(備份數(shù)據(jù))

    rdbcompression:在進(jìn)行鏡像備份時(shí),是否進(jìn)行壓縮

    dbfilename:鏡像備份文件的文件名

    dir:數(shù)據(jù)庫鏡像備份的文件放置路徑

    slaveof:設(shè)置數(shù)據(jù)庫為其它數(shù)據(jù)庫的從數(shù)據(jù)庫。

    masterauth:主數(shù)據(jù)庫連接需要的密碼驗(yàn)證。

    requirepass:設(shè)置登錄時(shí)需要使用的密碼。

    maxclients:限制同時(shí)連接的客戶數(shù)量。

    maxmemory:設(shè)置redis能夠使用的最大內(nèi)存。

    appendonly:開啟append only模式。

    appendfsync:設(shè)置對appendonly.aof文件進(jìn)行同步的頻率。

    vm-enabled:是否開啟虛擬內(nèi)存支持。

    vm-swap-file:設(shè)置虛擬內(nèi)存的交換文件路徑。

    vm-max-memory:設(shè)置redis使用的最大物理內(nèi)存大小。

    vm-page-size:設(shè)置虛擬內(nèi)存的頁的大小

    vm-pages:設(shè)置交換文件的總的page數(shù)量

    vm-max-threads設(shè)置VMIO同時(shí)使用的線程數(shù)量。

    glueoutputbuf:把小的輸出緩存存放在一起。

    hash-max-zipmap-entries:設(shè)置hash的臨界值

    activerehashing:重新hash

    查看進(jìn)程的方式:ps –ef | grep “redis”

    查看端口的方式:netstat -tunpl | grep 6379

    -------------------------------------------------------------------------------------------------------------------------------------------------------

    redis服務(wù)器安裝(其他方式)

    用源碼工程來編譯安裝

    1/ 到官網(wǎng)下載最新stable版

    2/ 解壓源碼并進(jìn)入目錄?

    ?cd?/home/tuzq/software

    mkdir?redis-src

    tar -zxvf redis-3.2.5.tar.gz -C ./redis-src/

    /home/tuzq/software/redis-src/redis-3.2.5

    3/?make

    如果報(bào)錯(cuò)提示缺少gcc,則安裝gcc :? yum install -y gcc

    如果報(bào)錯(cuò)提示:Newer version ofjemalloc required

    則在make時(shí)加參數(shù):make MALLOC=libc

    ?

    4/ 安裝redis,指定安裝目錄,如 /usr/local/redis

    make PREFIX=/usr/local/redis install

    ?

    6/ 拷貝一份配置文件到安裝目錄下

    切換到源碼目錄,里面有一份配置文件redis.conf,然后將其拷貝到安裝路徑下

    cp redis.conf /usr/local/redis/

    ?

    7/ 啟動redis

    cd /usr/local/redis

    bin/redis-server redis.conf ? (如果想后臺進(jìn)程運(yùn)行,修改:daemonize yes)

    ?

    8 連接redis

    另開一個(gè)xshell,然后:

    #cd /usr/local/redis/

    [root@hadoop redis]# bin/redis-cli?

    127.0.0.1:6379>


    注意:為了讓機(jī)器能夠遠(yuǎn)程連接服務(wù)器上的redis,需要將redis.conf中的bind值改成訪問機(jī)器的ip地址,不要用127.0.0.1


    1、如果想遠(yuǎn)程訪問redis,需要對redis配置ip

    配置的方式是:

    cd /usr/local/redis

    vim redis.conf

    將bind的id換成真實(shí)的ip地址,比如:

    bind 192.168.106.81

    2、在集群配置中,要對redis配置密碼,修改的配置是:

    cd /usr/local/redis

    vim redis.conf

    requirepass accountOne ? ?(這里設(shè)置一個(gè)密碼:accountOne)

    3、另外若想遠(yuǎn)程訪問,需要將6379的防火墻端口號放開

    bin/redis-cli -h 192.168.106.81 -p 6379 ? ?通過這種方式可以連接到192.168.106.81這臺服務(wù)器上的redis. ? 注意:若想讓它能夠被連同192.168.106.81這臺服務(wù)器上的redis.conf的bind屬性值要改成192.168.106.81


    4、通過桌面客戶端連接驗(yàn)證的方式:



    總結(jié)

    以上是生活随笔為你收集整理的NoSQL数据库之Redis数据库:Redis的介绍与安装部署(redis-2.8.19/3.2.5)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。