萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> Redis的安裝部署圖文教程

Redis的安裝部署圖文教程

   Redis是一個key-value存儲系統。和Memcached類似,但是解決了斷電後數據完全丟失的情況,而且她支持更多無化的value類型,除了和string外,還支持lists(鏈表)、sets(集合)和zsets(有序集合)幾種數據類型。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。

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

Redis的安裝部署圖文教程 三聯

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

  3、解壓並進入其目錄

  4、編譯源程序

  make

  cd src

  make install PREFIX=/usr/local/redis

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

  6、啟動redis服務

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

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

  將daemonize的值改為yes

  8、客戶端連接

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

  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服務進程

  Redis的配置

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

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

  bind:指定redis只接收來自該IP的請求,如果不設置,那麼將處理所有請求,在生產環節中最好設置該項

  port:監聽端口,默認為6379

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

  loglevel:等級分為4級,debug,revbose,notice和warning。生產環境下一般開啟notice

  logfile:配置log文件地址,默認使用標准輸出,即打印在命令行終端的端口上

  database:設置數據庫的個數,默認使用的數據庫是0

  save:設置redis進行數據庫鏡像的頻率

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

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

  dir:數據庫鏡像備份的文件放置的路徑

  slaveof:設置該數據庫為其他數據庫的從數據庫

  masterauth:當主數據庫連接需要密碼驗證時,在這裡設定

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

  maxclients:限制同時連接的客戶端數量

  maxmemory:設置redis能夠使用的最大內存

  appendonly:開啟appendonly模式後,redis會把每一次所接收到的寫操作都追加到appendonly.aof文件中,當redis重新啟動時,會從該文件恢復出之前的狀態

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

  vm_enabled:是否開啟虛擬內存支持

  vm_swap_file:設置虛擬內存的交換文件的路徑

  vm_max_momery:設置開啟虛擬內存後,redis將使用的最大物理內存的大小,默認為0

  vm_page_size:設置虛擬內存頁的大小

  vm_pages:設置交換文件的總的page數量

  vm_max_thrrads:設置vm IO同時使用的線程數量

  4.redis數據結構

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

  redis目前提供四種數據類型:string,list,set及zset(sorted set)和Hash。

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

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

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

  zset是set的一個升級版本,他在set的基礎上增加了一個順序屬性,這一屬性在添加修改元素的時候可以指定,每次指定後,zset會自動重新按新的值調整順序。可以理解了有兩列的mysql表,一列存value,一列存順序。操作中key理解為zset的名字。

  Hash數據類型允許用戶用Redis存儲對象類型,Hash數據類型的一個重要優點是,當你存儲的數據對象只有很少幾個key值時,數據存儲的內存消耗會很小.更多關於Hash數據類型的說明請見: http://code.google.com/p/redis/wiki/Hashes

  在官網上給出了所有支持的接口列表,並副副附有詳細的介紹,地址:

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

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

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

  5.redis數據存儲

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

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

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

  appendfsync no/always/everysec ,appendfsync配置,no表示等操作系統進行數據緩存同步到磁盤,always表示每次更新操作後手動調用fsync()將數據寫到磁盤,everysec表示每秒同步一次。

  6.redis主從配置

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

  7.redis起步(鏈接整理)

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

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

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

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

copyright © 萬盛學電腦網 all rights reserved