教你快速在Linux下安裝Redis

Redis是一個開源的、支持網(wǎng)絡、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,在高并發(fā)的應用系統(tǒng)中有很多應用場景.簡單介紹一下在linux 下如何安裝redis.

  1. 下載源碼編譯和安裝
    3.2版本下載地址
    Redis官網(wǎng)
 root@iZ25j7qhlyuZ:/usr/lib# wget -c http://download.redis.io/releases/redis-3.2.0.tar.gz 

下載完成之后在當前目錄下會得到一個壓縮包redis-3.2.0.tar.gz,解壓

root@iZ25j7qhlyuZ:/usr/lib# tar -xzvf redis-3.2.0.tar.gz redis-3.2.0/

編譯和安裝

root@iZ25j7qhlyuZ:/usr/lib# cd redis-3.2.0/
root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# make && make install

接下來輸出了一大堆日志,好難懂,應該沒有ERROR就行

  1. 修改配置文件
    首先修改內(nèi)存分配策略
root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# vi /etc/sysctl.conf

在尾部添加

vm.overcommit_memory=1

0, 表示內(nèi)核將檢查是否有足夠的可用內(nèi)存供應用進程使用;如果有足夠的可用內(nèi)存,內(nèi)存申請允許;否則,內(nèi)存申請失敗,并把錯誤返回給應用進程。
1, 表示內(nèi)核允許分配所有的物理內(nèi)存,而不管當前的內(nèi)存狀態(tài)如何。
2, 表示內(nèi)核允許分配超過所有物理內(nèi)存和交換空間總和的內(nèi)存。
保存

:wq

使其生效

root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# sysctl vm.overcommit_memory=1

拷貝redis.conf到etc目錄下

root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# cp -rvf redis.conf /etc/

然后編輯etc目錄下的redis.conf

root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# vi /etc/redis.conf

daemonize yes #轉(zhuǎn)為守護進程,否則啟動時會每隔5秒輸出一行監(jiān)控信息
save 60 1000 #保存快照的頻率,這里表示每分鐘1000次改變的話保存到磁盤
maxmemory 256000000 #分配內(nèi)存
rdbcompression:是否使用壓縮
dbfilename:數(shù)據(jù)快照文件名(只是文件名,不包括目錄)
dir:數(shù)據(jù)快照的保存目錄(這個是目錄)
requirepass yangkui 客戶端訪問時的密碼(當前密碼是yangkui)
...其他配置請參照官方文檔 官方文檔配置部分
保存

:wq
  1. 啟動Redis和測試連接
    啟動Redis服務
root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# redis-server /etc/redis.conf

查看Redis服務進程看是否正常啟動

root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# ps -ef|grep redis
root     17896     1  0 17:22 ?        00:00:00 redis-server 127.0.0.1:6379 
root     17903 14451  0 17:24 pts/0    00:00:00 grep --color=auto redis

啟動正常,使用客戶端工具連接

root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# redis-cli -h 127.0.0.1
127.0.0.1:6379> 

連接正常,輸入密碼

127.0.0.1:6379> AUTH yangkui
OK
127.0.0.1:6379> 

然后Redis 就可以用起來了

127.0.0.1:6379> set myblog yangkui.net
OK
127.0.0.1:6379> get myblog
"yangkui.net"
127.0.0.1:6379> 

至此,一個Redis單機安裝完成.

  1. 補充,設置Redis開機啟動
  2. 編寫開機自啟動腳本
root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# cp ./utils/redis_init_script /etc/init.d/redis
root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# vi /etc/init.d/redis 
  1. 修改配置文件中注釋位置的路徑
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/etc/redis.conf"
case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT -a yangkui shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac
  1. 通過VI保存好之后,賦給它可執(zhí)行的權限和設置開機啟動
root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# chmod 777 /etc/init.d/redis
root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# vi /etc/rc.local #非Ubuntu系統(tǒng)的話通過 chkconfig redis on來設置開機啟動
  1. 在exit 0 前面添加service redis start保存
service redis start
exit 0
~       
  1. 測試下腳本是不是好使
    先殺掉redis進程,然后
root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# service redis start 
Starting Redis server...
root@iZ25j7qhlyuZ:/usr/lib/redis-3.2.0# 

大功告成了

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容