明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

推薦Redis的安裝使用方法

[摘要]Redis 是一個高性能的key-value數(shù)據(jù)庫。 redis的出現(xiàn),很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關(guān)系數(shù)據(jù)庫起到很好的補充作用。它提供了Ja...

     Redis 是一個高性能的key-value數(shù)據(jù)庫。 redis的出現(xiàn),很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關(guān)系數(shù)據(jù)庫起到很好的補充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。Redis是一個key-value存儲系統(tǒng)。和Memcached類似,但是解決了斷電后數(shù)據(jù)完全丟失的情況,而且她支持更多無化的value類型,除了和string外,還支持lists(鏈表)、sets(集合)和zsets(有序集合)幾種數(shù)據(jù)類型。這些數(shù)據(jù)類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。

1、先到Redis官網(wǎng)(redis.io)下載redis安裝包 

推薦Redis的安裝使用方法

2、將其下載到我的/lamp目錄下

3、解壓并進入其目錄

  

推薦Redis的安裝使用方法

4、編譯源程序

  make 

  cd src

  make install PREFIX=/usr/local/redis

5、將配置文件移動到redis目錄
 

  

推薦Redis的安裝使用方法

6、啟動redis服務(wù)

  

推薦Redis的安裝使用方法

7、默認情況,Redis不是在后臺運行,我們需要把redis放在后臺運行

  vim /usr/local/redis/etc/redis.conf
 

  將daemonize的值改為yes

  

推薦Redis的安裝使用方法

8、客戶端連接

  /usr/local/redis/bin/redis-cli 

  

推薦Redis的安裝使用方法

9、停止redis實例

  /usr/local/redis/bin/redis-cli shutdown

  或者

  pkill redis-server

10、讓redis開機自啟

  vim /etc/rc.local

  加入

  /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf

11、接下來我們看看/usr/local/redis/bin目錄下的幾個文件時什么

  redis-benchmark:redis性能測試工具

  redis-check-aof:檢查aof日志的工具

  redis-check-dump:檢查rdb日志的工具

  redis-cli:連接用的客戶端

  redis-server:redis服務(wù)進程

Redis的配置

  daemonize:如需要在后臺運行,把該項的值改為yes

  pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址

  bind:指定redis只接收來自該IP的請求,如果不設(shè)置,那么將處理所有請求,在生產(chǎn)環(huán)節(jié)中最好設(shè)置該項

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

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

  loglevel:等級分為4級,debug,revbose,notice和warning。生產(chǎn)環(huán)境下一般開啟notice

  logfile:配置log文件地址,默認使用標(biāo)準(zhǔn)輸出,即打印在命令行終端的端口上

  database:設(shè)置數(shù)據(jù)庫的個數(shù),默認使用的數(shù)據(jù)庫是0

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

  rdbcompression:在進行鏡像備份時,是否進行壓縮

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

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

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

  masterauth:當(dāng)主數(shù)據(jù)庫連接需要密碼驗證時,在這里設(shè)定

  requirepass:設(shè)置客戶端連接后進行任何其他指定前需要使用的密碼

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

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

  appendonly:開啟appendonly模式后,redis會把每一次所接收到的寫操作都追加到appendonly.aof文件中,當(dāng)redis重新啟動時,會從該文件恢復(fù)出之前的狀態(tài)

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

  vm_enabled:是否開啟虛擬內(nèi)存支持

  vm_swap_file:設(shè)置虛擬內(nèi)存的交換文件的路徑

  vm_max_momery:設(shè)置開啟虛擬內(nèi)存后,redis將使用的最大物理內(nèi)存的大小,默認為0

  vm_page_size:設(shè)置虛擬內(nèi)存頁的大小

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

  vm_max_thrrads:設(shè)置vm IO同時使用的線程數(shù)量

4.redis數(shù)據(jù)結(jié)構(gòu)

redis 的作者antirez曾稱其為一個數(shù)據(jù)結(jié)構(gòu)服務(wù)器(data structures server),這是一個非常準(zhǔn)確的表述,redis的所有功能就是將數(shù)據(jù)以其固有的幾種結(jié)構(gòu)保存,并提供給用戶操作這幾種結(jié)構(gòu)的接口。我們可以想象我們在各種語言中的那些固有數(shù)據(jù)類型及其操作。

redis目前提供四種數(shù)據(jù)類型:string,list,setzset(sorted set)和Hash

string是最簡單的類型,你可以理解成與Memcached一模一個的類型,一個key對應(yīng)一個value,其上支持的操作與Memcached的操作類似。但它的功能更豐富。

list是一個鏈表結(jié)構(gòu),主要功能是push、pop、獲取一個范圍的所有值等等。操作中key理解為鏈表的名字。

set是集合,和我們數(shù)學(xué)中的集合概念相似,對集合的操作有添加刪除元素,有對多個集合求交并差等操作。操作中key理解為集合的名字。

zset是set的一個升級版本,他在set的基礎(chǔ)上增加了一個順序?qū)傩,這一屬性在添加修改元素的時候可以指定,每次指定后,zset會自動重新按新的值調(diào)整順序?梢岳斫饬擞袃闪械膍ysql表,一列存value,一列存順序。操作中key理解為zset的名字。

Hash數(shù)據(jù)類型允許用戶用Redis存儲對象類型,Hash數(shù)據(jù)類型的一個重要優(yōu)點是,當(dāng)你存儲的數(shù)據(jù)對象只有很少幾個key值時,數(shù)據(jù)存儲的內(nèi)存消耗會很小.更多關(guān)于Hash數(shù)據(jù)類型的說明請見: http://code.google.com/p/redis/wiki/Hashes

在官網(wǎng)上給出了所有支持的接口列表,并副副附有詳細的介紹,地址:

http://code.google.com/p/redis/wiki/CommandReference

另外,作者還提供了一個非常貼心的web命令行模擬頁面,供初學(xué)者試用redis,地址:

http://try.redis-db.com/

5.redis數(shù)據(jù)存儲

redis的存儲分為內(nèi)存存儲、磁盤存儲和log文件三部分,配置文件中有三個參數(shù)對其進行配置。

save seconds updates,save配置,指出在多長時間內(nèi),有多少次更新操作,就將數(shù)據(jù)同步到數(shù)據(jù)文件。這個可以多個條件配合,比如默認配置文件中的設(shè)置,就設(shè)置了三個條件。

appendonly yes/no appendonly配置,指出是否在每次更新操作后進行日志記錄,如果不開啟,可能會在斷電時導(dǎo)致一段時間內(nèi)的數(shù)據(jù)丟失。因為redis本身同步數(shù)據(jù)文件是按上面的save條件來同步的,所以有的數(shù)據(jù)會在一段時間內(nèi)只存在于內(nèi)存中。

appendfsync no/always/everysec ,appendfsync配置,no表示等操作系統(tǒng)進行數(shù)據(jù)緩存同步到磁盤,always表示每次更新操作后手動調(diào)用fsync()將數(shù)據(jù)寫到磁盤,everysec表示每秒同步一次。

6.redis主從配置

redis支持master-slave的主從配置,配置方法是在從機的配置文件中指定slaveof參數(shù)為主機的ip和port即可

7.redis起步(鏈接整理)

項目首頁,下方是各種語言支持列表:

http://code.google.com/p/redis/

作者在wiki中給出了一個非常好的例子,以使我們可以快速上手,地址:

http://code.google.com/p/redis/wiki/TwitterAlikeExample


學(xué)習(xí)教程快速掌握從入門到精通的電腦知識