Linux安裝redis數據庫


這幾天在搞redis數據庫,花了好大功夫,才成功安裝在Linux上,這里將自己的安裝步驟分享出來,同時也做個記錄,備忘。

新人一枚,不對之處,請多指教!

 

首先登陸Linux服務器

 

Linux里,我習慣將程序安裝在/usr/local 目錄下,所以先cd到該目錄下

  • cd /usr/local

 

下載redis壓縮包(所有操作以回車進行,下同)

 

確認redis壓縮包是否下載成功,查看當前目錄下的所有文件

  • ls -al

 

如果下載成功

  • 解壓:tar xzf redis-5.0.5.tar.gz
  • 查看是否解壓出了對應文件:ls -al

 

進入解壓出的目錄

  • cd redis-5.0.5

 

安裝

  • make

 

make完后,進入當前src 目錄下,會有redis服務端程序redis-server和用於測試的客戶端程序redis-cli,cd進src,並查看

  • cd src
  • ls -al

 

配置redis.conf文件,將redis設為后台運行

redis默認不是守護進程,也就是說只要在linux上做了其他操作、或者exit強制退出、或者關閉連接工具(putty/xshell)等,都會導致redis進程退出,這樣非常的麻煩,所以需要讓redis服務端在后台運行,即守護進程模式。當redis.conf配置文件中,daemonize屬性值設為yes時,代表開啟守護進程。

  • 退回上級目錄:cd ..
  • 創建etc文件夾(你不退回上級目錄也行,可以放到其他目錄,但為了便於管理,建議放到上級目錄中):mkdir /usr/local/redis-5.0.5/etc
  • 查看是否創建成功:ls -al

 

將當前目錄下的redis.conf配置文件,復制到剛剛創建的etc文件里,並查看etc文件夾

  • cp /usr/local/redis-5.0.5/redis.conf /usr/local/redis-5.0.5/etc
  • ls -al

 

編輯etc文件夾里的redis.conf配置文件,將里面的daemonize no 改成daemonize yes,即將redis設為后台啟動

  • vi redis.conf

 

按下斜杠/,然后輸入daemon,回車進行搜索,就會快速跳到需要修改的地方

 

輸入i,頁面會變成編輯模式

 

移動光標到no處,將no改成yes

 

然后按esc鍵退出編輯模式,再然后按shift+:(英文冒號),然后輸入wq,回車,就保存並退出了

 

設置連接redis數據庫的密碼(修改redis.conf文件)

redis數據庫默認不設密碼,但這樣會自動開啟保護模式,只能本地訪問,不能遠程訪問。所以為了能遠程訪問,就必須設置密碼。

跟上一步修改守護進程配置一樣,先進入redis.conf文件vi redis.conf

輸入/requirepass foobared,然后回車,找到設置密碼的地方#requirepass foobared

輸入i,進入編輯模式,在下面添加一行requirepass 123,設置訪問密碼為123,退出編輯模式、保存即可

 

啟動redis,並指定使用的配置文件

  • /usr/local/redis-5.0.5/src/redis-server /usr/local/redis-5.0.5/etc/redis.conf

 

啟動成功后,查看redis是否在運行

  • ps aux | grep redis

 

在/usr/local/redis-5.0.5/src目錄下啟動redis客戶端,測試和服務端的交互,啟動成功后,下面會出現IP地址和端口號:127.0.0.1:6397

  • ./redis-cli -h 127.0.0.1 -p 6379 -a 123

 

這時候開始測試客戶端與服務端的交互

  • 從客戶端輸入鍵值對:set name test,返回ok,表示添加成功
  • 從客戶端獲取鍵值對:get name,返回值test
  • 查看所有鍵值對:keys *
  • 從客戶端刪除鍵值對:del name,返回1表示刪除成功,刪除失敗會返回0

 

至此,redis數據庫安裝成功,輸入quit或按Ctrl+c可退出客戶端模式

 

安裝成功后,可以在redis客戶端里,查看數據庫的所有配置信息

  • 啟動redis客戶端:./redis-cli
  • config get *

dbfilename:數據庫文件名,默認為dumo.rdb

requirepass:連接服務器的密碼,默認為空。設置密碼后,再連接服務器就必須輸入密碼。

logfile:數據庫日志的地址及文件名。

maxmemroy:redis可占用的最大內存,默認是0。如果不進行設置或默認0,64位系統表示不限制內存的使用,32位系統表示最多使用3GB內存。

timeout:客戶端閑置多少秒后關閉與服務器的連接,默認是0,代表禁止使用該功能,永不關閉。

port:數據庫使用的端口號

databases:當前redis服務器有16個數據庫。

maxclients:最大同時連接的客戶端數量。

daemonize:表示redis是否作為守護進程運行,默認為no,表示以非守護進程運行,改為yes后,以守護進程運行。(windows下不支持以非守護進程運行)

dir:數據庫工作目錄。

 

修改redis數據庫可占用的最大內存(重啟后會恢復,改conf文件重啟后就不會恢復)

  • 先獲取當前可占用的最大內存(必須先獲取,再設置):config get maxmemory
  • 設置可占用最大內存為300M(必須轉為byte):config set maxmemory 314572800 //也可以在redis.conf配置文件中修改

 

設置過期策略

設置了可占用的最大內存后,一般都要設置過期策略。因為當內存使用達到上限后,數據庫就會報錯:OOM command not allowed when used memory > ‘maxmemory’,所以需要設置過期策略,通過LRU算法(LRU是Least Recently Used 近期最少使用算法)來刪除部分key,釋放空間。

  • 查看下當前過期策略的設置:config get maxmemory-policy
  • 設置需要的過期策略:config set maxmemory-policy volatile-lru //也可以在redis.conf配置文件中修改

volatile-lru -> 根據LRU算法生成的過期時間來刪除。

volatile-random -> 根據過期設置來隨機刪除key。

volatile-ttl -> 根據最近過期時間來刪除(輔以TTL)

allkeys-lru -> 根據LRU算法刪除任何key。

allkeys->random -> 無差別隨機刪。

noeviction -> 誰也不刪,內存達到上限后,直接在寫操作時返回錯誤。(默認就是這個過期策略)

 

修改端口

 

查看redis數據庫狀態

  • 查看所有相關狀態:info
  • 查看內存使用狀態:info memory

 

關閉redis

  • 進入/usr/local/redis-5.0.5/src目錄:cd /usr/local/redis-5.0.5/src
  • 輸入:./redis-cli shutdown

 

卸載redis

  • 刪除/usr/local/redis-5.0.5/etc下的配置文件redis.conf:rm -rf /usr/local/redis-5.0.5/etc/redis.conf  //-rf表示不管文件夾下有沒有內容,強制刪除
  • 刪除安裝文件夾:rm -rf /usr/local/redis-5.0.5
  • 刪除下載的壓縮包:rm -rf /usr/local/redis-5.0.5.tar.gz

 

 

 

參考文檔:

1、https://blog.51cto.com/4687975/2148125

2、http://linux.zhizuobiao.com/linux-19051400034/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM