天天看點

redis 單點部署

1.支援資料的持久化  

2.支援更多資料類型,除了string外,還支援hash、list(清單)、sets(集合)和sorted sets(有序清單)  

3.redis使用了兩種檔案格式:全量資料RDB和增量請求aof

安裝  

1.下載下傳:

wget 'https://codeload.github.com/antirez/redis/tar.gz/2.8.21' -O redis.2.8.21.tar.gz

2.解壓檔案  

tar zxvf redis.2.8.21.tar.gz

3.進入解壓目錄  

cd redis.2.8.21 

4.安裝  

make;  

make PREFIX=/usr/local/redis install 

5.安裝完隻有bin目錄,這裡需要建立配置檔案目錄

mkdir /usr/local/redis/etc

6.配置檔案

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

daemonize yes

pidfile /usr/local/redis/var/redis.pid

port 6379

timeout 300

loglevel debug

logfile /usr/local/redis/var/redis.log

databases 16

save 900 1

save 300 10

save 60 10000

rdbcompression yes

dbfilename dump.rdb

dir /usr/local/redis/var/

appendonly no

appendfsync always

#下面是redis.conf的主 要配置參數的意義:

#daemonize:是否以背景daemon方式運作

#pidfile:pid檔案位置

#port:監聽的端口号

#timeout:請求逾時時間

#loglevel:log資訊級别

#logfile:log檔案位置

#databases:開啟資料庫的數量

#save * *:儲存快照的頻率,第一個*表示多長時間,第三個*表示執行多少次寫操作。在一定時間内執行一定數量的寫操作時,自動儲存快照。可設定多個條件。

#rdbcompression:是否使用壓縮

#dbfilename:資料快照檔案名(隻是檔案名,不包括目錄)

#dir:資料快照的儲存目錄(這個是目錄)

#appendonly:是否開啟appendonlylog,開啟的話每次寫操作會記一條log,這會提高資料抗風險能力,但影響效率。

#appendfsync:appendonlylog如何同步到磁盤(三個選項,分别是每次寫都強制調用fsync、每秒啟用一次fsync、不調用fsync等待系統自己同步)

7.啟動腳本

vim /etc/init.d/redis

#!/bin/sh

#

# redis        init file for starting up the redis daemon

# chkconfig:   - 20 80

# description: Starts and stops the redis daemon.

# Source function library.

. /etc/rc.d/init.d/functions

name="redis-server"

basedir="/usr/local/redis"

exec="$basedir/bin/$name"

pidfile="$basedir/var/redis.pid"

REDIS_CONFIG="$basedir/etc/redis.conf"

[ -e /etc/sysconfig/redis ] && . /etc/sysconfig/redis

lockfile=/var/lock/subsys/redis

start() {

    [ -f $REDIS_CONFIG ] || exit 6

    [ -x $exec ] || exit 5

    echo -n $"Starting $name: "

    daemon --user ${REDIS_USER-redis} "$exec $REDIS_CONFIG"

    retval=$?

    echo

    [ $retval -eq 0 ] && touch $lockfile

    return $retval

}

stop() {

    echo -n $"Stopping $name: "

    killproc -p $pidfile $name

    [ $retval -eq 0 ] && rm -f $lockfile

restart() {

    stop

    start

reload() {

    false

rh_status() {

    status -p $pidfile $name

rh_status_q() {

    rh_status >/dev/null 2>&1

case "$1" in

    start)

        rh_status_q && exit 0

        $1

        ;;

    stop)

        rh_status_q || exit 0

    restart)

    reload)

        rh_status_q || exit 7

    force-reload)

        force_reload

    status)

        rh_status

    condrestart|try-restart)

        restart

    *)

        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart}"

        exit 2

esac

exit $?

8.添加一個普通使用者

useradd -s /sbin/nologin redis

9.建立var目錄,該目錄會存放pid,rdb等檔案

mkdir /usr/local/redis/var

10.修改權限,添加到服務清單并開機啟動

chmod 777 /usr/local/redis/var

chmod 755 /etc/init.d/redis

chkconfig --add redis

chkconfig redis on

11.啟動redis服務

service redis start

12.檢視(監聽的是6379端口)

ps aux | grep redis

注意:可能缺少某些庫檔案,需要安裝epel擴充源:  

yum install -y epel-release  

yum install -y jemalloc-devel

安裝時提示缺少某個檔案或目錄:

cd deps/

make hiredis lua jemalloc linenoise

然後回到安裝目錄繼續

本文轉自super李導51CTO部落格,原文連結: http://blog.51cto.com/superleedo/1891791,如需轉載請自行聯系原作者

繼續閱讀