參考:
service redis does not support chkconfig的解決辦法:
檢視作業系統版本資訊:
防火牆:
1:安裝
wget
tar -xzf redis-6.2.1.tar.gz
cd redis-6.2.1
make
error1:cc: command not found
yum install gcc
erron2:
【redis】編譯錯誤zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: no such file or directory
make malloc=libc
後端啟動:
2.編譯完成後,在src目錄下,有四個可執行檔案redis-server、redis-benchmark、redis-cli和redis.conf將其拷貝到乙個目錄下。
# mkdir /usr/redis
# cp redis-server /usr/redis
# cp redis-benchmark /usr/redis
# cp redis-cli /usr/redis
# cp ../redis.conf /usr/redis
# cd /usr/redis
3.啟動服務
# ./redis-server redis.conf
提示錯誤 -bash :redis-server:command not found
建立軟連線
# ln -s /usr/redis/redis-server /usr/bin/redis-server
# ln -s /usr/redis/redis-cli /usr/bin/redis-cli
重新啟動
# redis-server /usr/redis/redis.conf
redis 自啟動指令碼:
vi /etc/init.d/redis
#!/bin/sh
# chkconfig: 2345 90 10
# description: redis is a persistent key-value database
path=/usr/local/bin:/sbin:/usr/bin:/bin
redisport=6379
exec=/usr/redis/redis-server
redis_cli=/usr/redis/redis-cli
pidfile=/var/run/redis.pid
conf="/usr/redis/redis.conf"
auth="password123"
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 exists, process is not running."
else
pid=$(cat $pidfile)
echo "stopping..."
$redis_cli -p $redisport shutdown sleep 2
while [ -x $pidfile ]
do echo "waiting for redis to shutdown..."
sleep 1
done
echo "redis stopped"
fi;;
restart|force-reload)
$ stop
$ start
;;*)
echo "usage: /etc/init.d/redis " >&2 exit 1
esac
(3)設定許可權
# chmod 755 redis
(4)啟動
# /etc/init.d/redis start
提示錯誤 /etc/init.d/redis:permission denied
# chmod a+x /etc/init.d/redis
a+x 是給所有人加上可執行許可權,包括所有者,所屬組,和其他人
o+x 只是給其他人加上可執行許可權
重新啟動後顯示
(5)設定開機自啟動
# chkconfig redis on
提示錯誤 service redis does not support chkconfig
把下面兩行注釋放在/etc/init.d/redis檔案靠前的注釋中:
# chkconfig: 2345 90 10
# description: redis is a persistent key-value database
(6)關機重啟測試
5.設定啟動redis為後台啟動
開機自啟動參考:
service redis does not support chkconfig的解決辦法
問題解決辦法如下:
必須把下面兩行注釋放在/etc/init.d/redis檔案靠前的注釋中:
# chkconfig: 2345 90 10
# description: redis is a persistent key-value database
上面的注釋的意思是,redis服務必須在執行級2,3,4,5下被啟動或關閉,啟動的優先順序是90,關閉的優先順序是10。
6:chkconfig用法
chkconfig命令可以用來檢查、設定系統的各種服務
使用語法:
chkconfig [--add][--del][--list][系統服務] 或 chkconfig [--level 《等級代號》][系統服務][on/off/reset]
引數用法:
–add 增加所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啟動的敘述檔案內增加相關資料。
–del 刪除所指定的系統服務,不再由chkconfig指令管理,並同時在系統啟動的敘述檔案內刪除相關資料。
–level《等級代號》 指定讀系統服務要在哪乙個執行等級中開啟或關畢。
使用範例:
chkconfig –list 列出所有的系統服務
chkconfig –add redis 增加redis服務
chkconfig –del redis 刪除redis 服務
chkconfig –level redis 2345 on 把redis在執行級別為2、3、4、5的情況下都是on(開啟)的狀態。
redis常見問題
在redis命令列執行info clients 得到類似下面的結果 connected clients 357 client longest output list 0client biggest input buf 0blocked clients 0redis連線數過多的問題可以參考 處理red...
redis常見問題
redis使用中可能出現的一些問題 1.快取穿透 快取穿透是指查詢乙個一定不存在的資料,由於快取是不命中時需要從db查詢,查不到資料則不寫入快取,這將導致這個不存在的資料每次請求都要到資料庫查詢,從而造成快取穿透。解決辦法 持久層查詢不到就快取空結果,查詢時先判斷快取中是否exists key 如果...
Redis常見問題
1.如何解決快取雪崩?2.如何解決快取穿透?3.如何保證快取與資料庫雙寫時一致的問題?1.1 什麼是快取雪崩?回顧一下我們為什麼要用快取 redis 現在有個問題,如果我們的快取掛掉了,這意味著我們的全部請求都跑去資料庫了。我們都知道redis不可能把所有的資料都快取起來 記憶體昂貴且有限 所以re...