技術文檔
redis多數情況用于文件緩存,能有效提供業務的執行效率,當然,Redis 本身就是是一個高性能的key-value數據庫,也有一些程序會直接拿redis來做高速數據庫使用。具體redis的作用于用途可以自行百度了解。
以Centos7.X 系列安裝 redis-6.0.16版本為例,安裝教程如下:
1、下載安裝包
下載地址:http://down.wshost.cc/SH/redis-6.0.16.tar.gz
上傳安裝包到服務器/usr/local/src目錄
2、升級gcc版本
redis源碼編譯需要先gcc的版本大于等于5
gcc -v 查看gcc版本
yum -y install gcc gcc-c++ #安裝gcc
yum -y install tcl
#升級到gcc版本,redis-6.0.x版本需要gcc 5.3以上,CentOS 7.x默認是gcc version 4.8.5
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash #版本臨時生效
echo "source /opt/rh/devtoolset-9/enable" /etc/profile #永久生效
3、安裝Redis
mkdir -p /usr/local/redis_db #創建數據存放目錄
cd /usr/local/src
tar -zxvf redis-6.0.16.tar.gz
cd redis-6.0.16
make
make install PREFIX=/usr/local/redis-6.0.16
4、配置Redis
cp /usr/local/src/redis-6.0.16/redis.conf /usr/local/redis-6.0.16/redis.conf
vi /usr/local/redis-6.0.16/redis.conf
daemonize yes #以后臺daemon方式運行redis
pidfile /usr/local/redis-6.0.16/redis_6379.pid
port 6379
bind 127.0.0.1
timeout 300 #客戶端超時設置,單位為秒
loglevel notice #設置日志級別,支持四個級別:debug、verbose、notice、warning
logfile "/usr/local/redis-6.0.16/log/redis.log" #日志記錄方式,默認為標準輸出,logs不寫文件,輸出到空設備/deb/null
databases 16 #開啟數據庫的數量
save 900 1
save 300 10
save 60 10000
rdbcompression yes #啟用數據庫lzf壓縮
dbfilename dump.rdb
dir "/usr/local/redis_db"
requirepass 123456 #設置redis數據庫連接密碼
maxclients 10000 #同一時間最大客戶端連接數,0為無限制
maxmemory 4096MB #設定redis最大使用內存,值要小于物理內存,必須設置
appendonly yes #開啟日志記錄,相當于MySQL的binlog
appendfilename "appendonly.aof" #日志文件名,注意:不是目錄路徑
appendfsync everysec #每秒執行同步,還有兩個參數always、no一般設置為everysec,相當于MySQL事物日志的寫方式
:wq! #保存退出
5、啟動redis
5.1手動啟動
/usr/local/redis-6.0.16/bin/redis-server /usr/local/redis-6.0.16/redis.conf
#查看進程
ps -ef|grep redis
#端口測試
telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ^].
#進入控制臺
/usr/local/redis-6.0.16/bin/redis-cli -a 123456
Warning: Using a password with -a or -u option on the command line interface may not be safe.
127.0.0.1:6379 config get requirepass
1) "requirepass"
2) "123456"
127.0.0.1:6379
#關閉數據庫,需要進入控制臺操作
/usr/local/redis-6.0.16/bin/redis-cli -a 123456
Warning: Using a password with -a or -u option on the command line interface may not be safe.
127.0.0.1:6379 shutdown
not connected
5.2 配置腳本啟動
vi /usr/local/redis-6.0.16/redis.sh
#!/bin/bash
#應用名稱
APP_NAME=redis-6.0.16
#Redis端口
REDISPORT=6379
#Redis安裝目錄
DIR=/usr/local/redis-6.0.16
#Redis進程文件
PIDFILE=/usr/local/redis-6.0.16/redis_6379.pid
#Redis配置文件
CONF="/usr/local/redis-6.0.16/redis.conf"
#Redis密碼
AUTH=123456
#使用說明,用來提示輸入參數
usage() {
echo "Usage: ./redis.sh [start|stop|restart|status]"
exit 1
}
#檢查程序是否在運行
is_exist() {
if [ -f $PIDFILE ]
then
pid=$(cat $PIDFILE)
else pid=
fi
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#啟動方法
start() {
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
echo "Starting Redis server..."
$DIR/bin/redis-server $CONF
fi
}
#停止方法
stop() {
is_exist
if [ $? -eq "0" ]; then
$DIR/bin/redis-cli -p $REDISPORT -a $AUTH shutdown 2/dev/null
sleep 2
while [ -x $PIDFILE ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
else
echo "${APP_NAME} is not running"
fi
}
#輸出運行狀態
status() {
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is not running."
fi
}
#重啟
restart() {
stop
sleep 2
start
}
#根據輸入參數,選擇執行對應方法,不輸入則執行使用說明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
:wq! #保存退出
#添加腳本執行權限
chmod +x /usr/local/redis-6.0.16/redis.sh
#執行腳本
sh /usr/local/redis-6.0.16/redis.sh start|stop|restart|status
5.3、設置開機啟動Redis
cp /usr/local/src/redis-6.0.16/utils/redis_init_script /etc/init.d/redis
vi /etc/init.d/redis #添加修改
AUTH=123456
REDISPORT=6379
EXEC=/usr/local/redis-6.0.16/bin/redis-server
CLIEXEC=/usr/local/redis-6.0.16/bin/redis-cli
PIDFILE=/usr/local/redis-6.0.16/redis_${REDISPORT}.pid
CONF="/usr/local/redis-6.0.16/redis.conf"
$CLIEXEC -p $REDISPORT -a $AUTH shutdown 2/dev/null
:wq! #保存退出
#設置開機啟動
chkconfig redis on
#啟動|關閉
service redis start|stop
至此,CentOS 7.x 安裝redis-6.0.16完成。
- 上一篇: Centos7安裝云鎖防護以及使用說明
- 下一篇: Centos7 安裝 JDK1.8