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,如需轉載請自行聯系原作者