Redis安装文档
?
一、安裝redis
先獲取redis源碼包?
wget?http://download.redis.io/redis-stable.tar.gz
tar zxvf redis-stable.tar.gz
cd redis-stable
make
make install
最好再編譯后直接執行make install命令來將這些可執行程序復制到/user/local/bin目錄中以便以后執行程序時可以不用輸入完整的路徑
make的時候注意:
如果make的時候提示如下錯誤:
cc: error: ../deps/hiredis/libhiredis.a: No such file or directory
cc: error: ../deps/lua/src/liblua.a: No such file or directory
cc: error: ../deps/jemalloc/lib/libjemalloc.a: No such file or directory
make: *** [redis-server] Error 1
則分別進入redis下的deps下的hiredis、lua和jemalloc下運行make。jemalloc下可能要先運行./configure,然后make。最后回到redis的src下,運行make,就OK了。
如果提示如下錯誤:
CPU you selected does not support x86-64 instruction set
把make命令改成make CFLAGS="-march=x86-64"就行了
?
二、啟動redis
redis可執行文件說明:
redis-server ? ? ? ? ? ? ? ? ?redis服務器
redis-cli ? ? ? ? ? ? ? ? ? ? ? ? redis命令行客戶端
redis-benchmark ? ? ? ? ?redis性能測試工具
redis-check-aof ? ? ? ? ? ?aof文件修復工具
redis-check-dump ? ? ? ?rdb文件檢查工具
1、直接啟動
直接運行redis-server既可以啟動redis
redis服務器默認會使用6379端口,通過--port參數可以自定義端口號:
redis-server --port 6380
如果出現警告:
WARNING overcommit_memory is set to 0! Background save may fail under low memory condition.?
To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
過?量使用內存設置為0!在低內存環境下,后臺保存可能失敗。為了修正這個問題,請在/etc/sysctl.conf?添加一項?'vm.overcommit_memory = 1'?,然后重啟(或者運行命令'sysctl vm.overcommit_memory=1'?)使其生效。
按這個提示來做,警告排除。
?
2、通過初始化腳本啟動redis
redis源碼目錄的utils文件夾中有一個名為redis-init_script的初始化腳本文件
步驟
(1)配置初始化腳本。首先將初始化腳本復制到/etc/init.d目錄中,文件名為redis_端口號(redis_6379),然后修改腳本第6行的REDISPORT的變量值為同樣的端口號(ubuntu)
如果是centos或者redhat則使用以下腳本(端口號根據實際情況修改)
#chkconfig: 2345 90 10
#description: Redis is a persistent key-value database
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379出的
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_6379.pid
CONF="/etc/redis/6379.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
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis_6379 {start|stop|restart|force-reload}" >&2
exit 1
esac
(2)建立需要的文件夾
/etc/redis ? ?存放redis配置文件
/var/redis/端口號?? ?存放redis的持久化文件
(3)修改配置文件
把配置文件模板復制到/etc/redis目錄中,已端口號命名(如“6379.conf”)
需要修改的配置及說明:
daemonize ?yes ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?使redis以守護進程模式運行
pidfile ? ? ? ? ?/var/run/redis_端口號.pid ? ? ? ?設置redis的pid文件位置
port ? ? ? ? ? ?端口號設置redis監聽的端口號
?dir ? ? ? ? ? ? ?/var/redis/端口號設置持久化文件存放位置
設置開機啟動服務:
sudo update-rc.d redis_端口號?defaults //?告訴系統啟動時候,自動執行redis_端口號?這個腳本。(ubuntu)
如果是centos或者redhat則使用以下方法:
chkconfig?redis_端口號??on
設置權限可執行
chmod +x /etc/init.d/redis_端口號
現在就可以使用?/etc/init.d/redis_端口號?start/stop?來啟動和停止redis了
?
三、停止redis
redis-cli shutdown??或者?kill redis進程的pid
?
?
?
轉載于:https://www.cnblogs.com/ZnCl/p/7047563.html
總結
- 上一篇: 俩虚拟机间通过ssh互相登陆
- 下一篇: 20170626_oracle_数据库设