共計 4259 個字符,預計需要花費 11 分鐘才能閱讀完成。
本篇內(nèi)容主要講解“redis 安裝、配置、使用和 redis php 擴展安裝的步驟”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“redis 安裝、配置、使用和 redis php 擴展安裝的步驟”吧!
redis 是一個內(nèi)存數(shù)據(jù)庫,比 memcache 支持更豐富的 value 類型,新浪微博就使用 redis 來做緩存。
redis 的源碼安裝
復制代碼 代碼如下:
wget http://download.redis.io/redis-stable.tar.gz
tar -zxvf redis-stable.tar.gz
cd redis-stable
make
make test
make install
1.make 時可能會報如下錯誤:
復制代碼 代碼如下:
zmalloc.o: In function `zmalloc_used_memory :
/root/redis-stable/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4
collect2: ld returned 1 exit status
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/root/redis-stable/src
make: *** [all] Error 2
解決辦法:
編輯 src/.make-settings 里的 OPT,改為 OPT=-O2 -march=i686。
2.make test 報錯:
復制代碼 代碼如下:
You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1
解決辦法安裝 tcl
復制代碼 代碼如下:
wget http://downloads.sourceforge.net/tcl/tcl8.6.0-src.tar.gz
cd tcl8.6.0/
cd unix
./configure –prefix=/usr \
–mandir=/usr/share/man \
–without-tzdata \
$([$(uname -m) = x86_64 ] echo –enable-64bit)
make
sed -e s@^\(TCL_SRC_DIR= \).*@\1/usr/include @ \
-e /TCL_B/s@= \(-L\)\?.*unix@= \1/usr/lib@ \
-i tclConfig.sh
make install
make install-private-headers
ln -v -sf tclsh8.6 /usr/bin/tclsh
chmod -v 755 /usr/lib/libtcl8.6.so
redis 命令介紹
Redis 由四個可執(zhí)行文件:redis-benchmark、redis-cli、redis-server、redis-stat 這四個文件,加上一個 redis.conf 就構(gòu)成了整個 redis 的最終可用包。它們的作用如下:
redis-server:Redis 服務器的 daemon 啟動程序
redis-cli:Redis 命令行操作工具。當然,你也可以用 telnet 根據(jù)其純文本協(xié)議來操作
redis-benchmark:Redis 性能測試工具,測試 Redis 在你的系統(tǒng)及你的配置下的讀寫性能
redis-stat:Redis 狀態(tài)檢測工具,可以檢測 Redis 當前狀態(tài)參數(shù)及延遲狀況
現(xiàn)在就可以啟動 redis 了,redis 只有一個啟動參數(shù),就是他的配置文件路徑。
啟動 redis
復制源碼包里的 redis.conf 到 /etc
復制代碼 代碼如下:
# cd redis-stable
# cp redis.conf /etc/redis.conf
編輯 /etc/redis.conf , 修改 daemaon no 為 daemaon yes,以守護進程方式啟動進程。
復制代碼 代碼如下:
# redis-server /etc/redis.conf
關閉 redis
復制代碼 代碼如下:
# redis-cli shutdown // 關閉所有
關閉某個端口上的 redis
# redis-cli -p 6397 shutdown // 關閉 6397 端口的 redis
說明:關閉以后緩存數(shù)據(jù)會自動 dump 到硬盤上,硬盤地址見 redis.conf 中的 dbfilename dump.rdb
redis 配置
注意,默認復制過去的 redis.conf 文件的 daemonize 參數(shù)為 no,所以 redis 不會在后臺運行,這時要測試,我們需要重新開一個終端。修改為 yes 則為后臺運行 redis。另外配置文件中規(guī)定了 pid 文件,log 文件和數(shù)據(jù)文件的地址,如果有需要先修改,默認 log 信息定向到 stdout.
下面是 redis.conf 的主要配置參數(shù)的意義:
復制代碼 代碼如下:
daemonize:是否以后臺 daemon 方式運行
pidfile:pid 文件位置
port:監(jiān)聽的端口號
timeout:請求超時時間
loglevel:log 信息級別
logfile:log 文件位置
databases:開啟數(shù)據(jù)庫的數(shù)量
save * *:保存快照的頻率,第一個 * 表示多長時間,第三個 * 表示執(zhí)行多少次寫操作。在一定時間內(nèi)執(zhí)行一定數(shù)量的寫操作時,自動保存快照。可設置多個條件。
rdbcompression:是否使用壓縮
dbfilename:數(shù)據(jù)快照文件名(只是文件名,不包括目錄)
dir:數(shù)據(jù)快照的保存目錄(這個是目錄)
appendonly:是否開啟 appendonlylog,開啟的話每次寫操作會記一條 log,這會提高數(shù)據(jù)抗風險能力,但影響效率。
appendfsync:appendonlylog 如何同步到磁盤(三個選項,分別是每次寫都強制調(diào)用 fsync、每秒啟用一次 fsync、不調(diào)用 fsync 等待系統(tǒng)自己同步)
這時你可以打開一個終端進行測試了,配置文件中默認的監(jiān)聽端口是 6379
redis 開機自動啟動
用這個腳本管理之前,需要先配置下面的內(nèi)核參數(shù),否則 Redis 腳本在重啟或停止 redis 時,將會報錯,并且不能自動在停止服務前同步數(shù)據(jù)到磁盤上:
復制代碼 代碼如下:
# vi /etc/sysctl.conf
vm.overcommit_memory = 1
然后應用生效:
復制代碼 代碼如下:
# sysctl –p
建立 redis 啟動腳本:
復制代碼 代碼如下:
# vim /etc/init.d/redis
#!/bin/bash
#
# Init file for redis
#
# chkconfig: – 80 12
# description: redis daemon
#
# processname: redis
# config: /etc/redis.conf
# pidfile: /var/run/redis.pid
source /etc/init.d/functions
#BIN= /usr/local/bin
BIN= /usr/local/bin
CONFIG= /etc/redis.conf
PIDFILE= /var/run/redis.pid
### Read configuration
[-r $SYSCONFIG] source $SYSCONFIG
RETVAL=0
prog= redis-server
desc= Redis Server
start() {
if [-e $PIDFILE];then
echo $desc already running….
exit 1
fi
echo -n $ Starting $desc:
daemon $BIN/$prog $CONFIG
RETVAL=$?
echo
[$RETVAL -eq 0] touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n $ Stop $desc:
killproc $prog
RETVAL=$?
echo
[$RETVAL -eq 0] rm -f /var/lock/subsys/$prog $PIDFILE
return $RETVAL
}
restart() {
stop
start
}
case $1 in
start)
start
stop)
stop
restart)
restart
condrestart)
[-e /var/lock/subsys/$prog] restart
RETVAL=$?
status)
status $prog
RETVAL=$?
*)
echo $ Usage: $0 {start|stop|restart|condrestart|status}
RETVAL=1
esac
exit $RETVAL
然后增加服務并開機自啟動:
復制代碼 代碼如下:
# chmod 755 /etc/init.d/redis
# chkconfig –add redis
# chkconfig –level 345 redis on
# chkconfig –list redis
redis php 擴展安裝
復制代碼 代碼如下:
wget https://github.com/nicolasff/phpredis/zipball/master -O php-redis.zip
unzip php-redis.zip
cd nicolasff-phpredis-2d0f29b/
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make make install
完成后 redis.so 被安裝到
復制代碼 代碼如下:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
vi /usr/local/php/lib/php.ini
添加
復制代碼 代碼如下:
extension=redis.so
重啟 php-fpm 即可。
configure 時可能會遇到,添加 –with-php-config 參數(shù)可以解決。
復制代碼 代碼如下:
configure: error: Cannot find php-config. Please use –with-php-config=PATH
./configure –with-php-config=/usr/local/php/bin/php-config
到此,相信大家對“redis 安裝、配置、使用和 redis php 擴展安裝的步驟”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!