Linux中安裝redis

一、Redis介紹

Redis是當前比較熱門的NOSQL系統之一,它是一個key-value存儲系統。和Memcache類似,但很大程度補償了Memcache的不足,它支持存儲的value類型相對更多,包括string、list、set、zset和hash。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作。在此基礎上,Redis支持各種不同方式的排序。
和Memcache一樣,Redis數據都是緩存在計算機內存中,不同的是,Memcache只能將數據緩存到內存中,無法自動定期寫入硬盤,這就表示,一斷電或重啓,內存清空,數據丟失。所以Memcache的應用場景適用於緩存無需持久化的數據。而Redis不同的是它會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,實現數據的持久化。

二、Redis的安裝

下面介紹在Linux環境下,Redis的安裝與部署

1、首先上官網下載Redis 壓縮包,地址:http://redis.io/download 下載穩定版3.0.7即可。

2、通過遠程管理工具,將壓縮包拷貝到Linux服務器中,執行解壓操作

 

3、執行make 對Redis解壓後文件進行編譯

 

編譯完成之後,可以看到解壓文件redis-3.0.7 中會有對應的src、conf等文件夾,這和windows下安裝解壓的文件一樣,大部分安裝包都會有對應的類文件、配置文件和一些命令文件。

 

4、編譯成功後,進入src文件夾,執行make install進行Redis安裝

5、安裝完成,界面如下

 

三、Redis的部署

安裝成功後,下面對Redis 進行部署

安裝完後再Redis的文件中有redis.conf文件和src文件,src文件中有redis-server和redis-cli,這是用來啓動redis服務的。

redis.conf是配置文件。


2、執行Redis-server 命令,啓動Redis 服務

 

注意:這裏直接執行Redis-server 啓動的Redis服務,是在前臺直接運行的(效果如上圖),也就是說,執行完該命令後,如果Lunix關閉當前會話,則Redis服務也隨即關閉。正常情況下,啓動Redis服務需要從後臺啓動,並且指定啓動配置文件。 

3、後臺啓動redis服務

a)首先編輯conf文件,將daemonize屬性改爲yes(表明需要在後臺運行)


Vi redis.conf

 將daemonize的值改爲yes

  


b)再次啓動redis服務,並指定啓動服務配置文件

redis-server     /redis/redis.conf



客戶端連接

 /redis/src/redis-cli 

  

9、停止redis實例

  /redis/redis-cli shutdown

  或者

  pkill redis-server

10、讓redis開機自啓

  vim /etc/rc.local

  加入

  /redis/src/redis-server /redis/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同時使用的線程數量


出現問題描述: 
1.Could not get a resource from the pool, Connection refused: connect

這裏寫圖片描述

windows java這邊客戶端鏈接被拒接了,想想問題

1.Vmware裏面的linux所安裝的redis已經正常啓動 
2.在windows用ssh客戶端鏈接linux可以操作redis 
3.linux防火牆已經關閉 
4.拼linux的ip也能拼通

按理說應該沒問題,下利用telnet測試下端口

telnet 192.168.0.104 6379

發現端口不能拼通,但是linu下其他的端口能拼通,說明就是redis自身配置的問題了

看了下配置文件,發現配置文件綁定了本地ip,該配置會導致,其他ip登錄被拒絕,所以我們把它註釋掉

這裏寫圖片描述

接下來再測試運行,發先已經鏈接上了,說明問題解決,但是又出現新的問題 :DENIED Redis is running in protected mode because protected mode is enabled…

這裏寫圖片描述

該問題說,redis目前處於受保護模式,不允許非本地客戶端鏈接,我們可以通過給redis設置密碼,然後客戶端鏈接的時候,寫上密碼就可以解決了

這裏寫圖片描述

配置redis的命令 
config set requirepass 123 ->123是密碼

現在java客戶端通過配置主機ip號,密碼就能鏈接上了




發佈了32 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章