
點選關注了解更多精彩内容!!
Redis從零開始 1 Redis啟動和關閉
先開始我們的準備工作,下載下傳安裝redis (安裝環境oel 6.3)
Redis的相容性非常好,在很多的系統都可以直接通過下載下傳redis源代碼編譯安裝使用。我們可以通過http://downloag.redis.io/redis-stable.tar.gz來下載下傳最新最穩定的版本,當然也可以根據需求,在官網下載下傳相應版本的Redis。這裡就不一一介紹了。
Linux之下,下載下傳完安裝包解壓後直接make 就可以對其進行安裝編譯,指令如下:
# wget
http://download.redis.io/redis-stable.tar.gz
# tar -zxvf redis-stable.tar.gz
# cd redis-stable
# make
Redis 在安裝的過程中除了需要安裝一些必要的gcc包以外,并沒有什麼其他的外部依賴,直接make test 後make install 就可以了,但是這裡有的時候會報錯,需要你安裝一個tcl的庫才可以執行make test,報錯資訊如下:
# make test
cd src && make test
make[1]: Entering directory `/usr/local/src/redis-stable/src'
CC Makefile.dep
make[1]: Leaving directory `/usr/local/src/redis-stable/src'
make[1]: Entering directory `/usr/local/src/redis-stable/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/local/src/redis-stable/src'
make: *** [test] Error 2
直接通過yum 進行tcl庫的安裝就可以了
# yum install tcl
make test 過後,我們就可以安裝了,在make test的過程中,其實就是測試所有在redis上的指令是否可以完美執行,如果沒問題就直接OK,所有的test都沒問題的話,會提示# \o/ All tests passed without errors! 這樣我們就可以繼續安裝了。
安裝的過程也比較簡單,直接通過make install就OK,當然這裡如果我們想要為我們的redis設定一個安裝目錄,可以通過PREFIX來定義,注意,這裡的PREFIX必須要大寫。
# make PREFIX=/usr/local/redis install
cd src && make install
make[1]: Entering directory '/usr/local/src/redis-stable/src'
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make[1]: Leaving directory '/usr/local/src/redis-stable/src'
基本上到這裡redis 就安裝完了。是不是比較簡單?哈哈~~
2 Redis啟動和關閉
在安裝完Redis後,我們可以通過進入到目錄檢視到,Redis的安裝目錄隻有一個bin檔案,在bin檔案之下,有5個檔案,分别是redis-benchmark、redis-check-aof、redis-check-rdb、redis-cli、redis-server,分别是指性能測試、檢查aof日志、檢查rdb日志、連接配接用戶端工具和服務程序,這五個檔案就組成了我們的redis。
啟動redis 一般有兩種方式:
1、直接啟動
比較适用于開發環境,直接通過redis-server 就可以啟動redis:
[[email protected] bin]# redis-server
46545:C 31 Jan 2019 17:43:28.308 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
46545:C 31 Jan 2019 17:43:28.308 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=46545, just started
此時我們就可以通過redis-cli進行操作了。
[[email protected] redis]# ./bin/redis-cli
127.0.0.1:6379> set aa www.sandata.com.cn
OK
127.0.0.1:6379> get aa
"www.sandata.com.cn"
redis伺服器預設的端口是6379,我們也可以通過--port參數來自定義端口
[[email protected] bin]# redis-server --port 6380
46556:C 31 Jan 2019 17:47:35.551 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
46556:C 31 Jan 2019 17:47:35.551 # Redis version=5.0.3, bits=64, commit=00000000, modified=0, pid=46556, just started
46556:C 31 Jan 2019 17:47:35.551 # Configuration loaded
46556:M 31 Jan 2019 17:47:35.551 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.3 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-' | Port: 6380
| `-._ `._ / _.-' | PID: 46556
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
2、通過初始化腳本
除了通過redis-server啟動Redis以外,我們還可以通過初始化腳本啟動redis,在Redis源碼目錄utils檔案夾中有一個redis_init_script腳本,Redis可以直接通過shell腳本随着系統自動運作,在生産庫之中我們比較推薦使用這種腳本的方式來啟動Redis。
腳本如下:
[[email protected] ~]# cd /usr/local/src/redis-stable/utils
[[email protected] utils]# cat redis_init_script
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
### BEGIN INIT INFO
# Provides: redis_6379
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO
REDISPORT=6379 # 端口号
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.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
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
我們需要對其配置運作方式和持久化檔案、日志檔案的存儲位置。
1) 先将初始化腳本指派到/etc/init.d目錄中,檔案名可以設定為redis_+端口号,然後修改腳本中的REDISPORT=6379 部分,改成需要通信的端口号即可。
2) 建立需要的檔案夾。
# mkdir -p /etc /redis ----配置檔案存放目錄
# mkdir -p /etc/redis/端口号 ----持久化檔案存放目錄
3) 将源碼中的redis.conf檔案拷到/etc/redis目錄中,以端口号命名,并修改以下參數。
daemonize no -> daemonize yes
pidfile /var/run/redis_6379.pid ->pidfile /var/run/redis_相應端口号.pid
port 6379 ->port 相應的端口号
dir ./ ->dir /var/redis/端口号
現在就可以通過/etc/init.d/redis_port start 來啟動redis。如果需要讓redis随着系統啟動,則需要執行如下指令:
sudo update-rc.d redis_port defaults
即可。
當然停止redis的話還是比較簡單的,直接執行shutdown 就可以了:
127.0.0.1:6379> shutdown
未完待續!