Redis學習筆記(一)開始之啟動和停止Redis
Redis-server |
Redis伺服器 |
Redis-client |
Redis命令列客戶端 |
Redis-benchmark |
Redis效能測試工具 |
Redis-check-aof |
AOF檔案修復工具 |
Redis-check-dump |
RDB檔案檢查工具 |
1、Redis直接啟動:
$ redis-server
預設埠6379
$ redis-server --port 6380
2、初始化指令碼啟動Redis:
Linux系統中可用初始化指令碼,自動啟動Redis
初始化指令碼如下:
#!/bin/sh
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 is exists, process is already running orcrashed"
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 "Stoping…"
$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變數值為同樣的埠號
(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/埠號 |
設定持久化檔案存放位置 |
執行下面命令使Redis隨系統自動啟動:
sudo update-rc.d redis_埠號 defaults
停止Redis:
$ redis-cli shutdown
kill Redis程序的PID 也可以正常結束Redis
Redis命令列客戶端redis-cli
$redis-cli -h 127.0.0.1 -p 6379
$redis-cli PING
PONG
$redis-cli
redis 127.0.0.1:6379> PING
PONG
命令列返回值:
1、狀態恢復
狀態回覆(status reply)直接顯示狀態資訊:
redis> PING
PONG
2、錯誤回覆
錯誤回覆(error reply)以(error)開頭,並在後面跟上錯誤資訊:
redis> ERRORCOMMEND
(error) ERR unkown command 'ERRORCOMMEND'
3、整數回覆
Redis雖然沒有整數型別,但是卻提供了一些用於整數操作的命令,如遞增鍵值的INCR命令會以整數形式返回遞增後的鍵值。整數回覆(integer reply)以(integer)開頭,並在後面跟上整數資料:
redis>INCR foo
(integer) 1
4、字串回覆
字串回覆以雙引號包裹:
redis> GET foo
"1"
特殊情況是當請求的鍵值不存在時會得到一個空結果,顯示為(nil)。如:
redis> GET noexists
(nil)
5、多行字串回覆
多行字串回覆中的每行字串都以一個序號開頭,如:
redis> KEYS *
- "bar"
- "foo"
可以在Redis執行時通過CONFIG SET命令在不重新啟動Redis的情況下動態修改部分Redis配置。就像這樣:
redis> CONFIG SET loglevel warning
OK
並不是所有的配置都可以使用CONFIG SET命令修改。
同樣在執行的時候也可以使用CONFIG GET命令獲得Redis當前的配置情況,例如:
redis> CONFIG GET loglevel
- "loglevel"
- "warning"
其中第一行字串回覆表示的是選項名,第二行即是選項值。
Redis支援多資料庫,每個資料庫對外都是以一個從0開始的遞增數字命名,Redis預設支援16個數據庫。客戶端與Redis建立連線後會自動選擇0號資料庫,可以使用SELECT命令選擇幾號資料庫,如:
redis> SELECT 1
OK
redis [1]> GET foo
(nil)