云樞智聯視角
關注互聯網,關注技術開發,透析與分享移動互聯網行業最新動態linux redis
時間:2019-02-17 13:33:29 閱讀:99765次 分類:小程序開發
1、下載
wget http://download.redis.io/releases/redis-2.8.7.tar.gz下載后的文件在當前目錄里 redis-2.8.7.tar.gz
2、編譯安裝
tar xf redis-2.8.7.tar.gz
cd redis-2.8.7make
make install
如果沒有安裝gcc的話會提示gcc not found 于是就需要安裝一下gcc: yum -y install gcc 因為剛開始把yum的源換成163的了,怎么都不行,后來逼迫無奈換回原來的,結果就好了 辛虧剛開始就備份了系統自帶的,可見備份配置文件的好處 其實最好的方法應該是設置添加第三方的源并默認選擇最快的,可以參考 裝好之后重新執行一下上邊的
3、創建配置文件
mkdir /etc/rediscp redis.conf /etc/redis/redis.conf
4、調整下內存分配使用方式并使其生效
echo “vm.overcommit_memory=1”>>/etc/sysctl.conf
此參數可用的值為0,1,2 #0表示當用戶空間請求更多的內存時,內核嘗試估算出可用的內存* *1表示內核允許超量使用內存直到內存用完為止* *2表示整個內存地址空間不能超過`swap+(vm.overcommit_ratio)%`的RAM值*
sysctl -p
5、 修改redis配置
vi /etc/redis/redis.conf
daemonize yes
redis以守護進程的方式運行, #no表示不以守護進程的方式運行(會占用一個終端) timeout 300 客戶端閑置多長時間后斷開連接,默認為0關閉此功能 loglevel verbose 設置redis日志級別 logfile stdout 設置日志文件的輸出方式,如果以守護進程的方式運行redis 并且日志輸出設置為stdout,那么日志信息就輸出到/dev/null里面去了
6、啟動redis
redis-server /etc/redis/redis.conf
7、測試redis
[root@localhost redis]# redis-cli 127.0.0.1:6379> set name wayne
OK 127.0.0.1:6379> get name "wayne" 127.0.0.1:6379>
redis問題解決(MISCONF Redis is configured to save RDB snapshots)
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
使用如下命令解決:
config set stop-writes-on-bgsave-error no
1、安裝編譯工具
yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl
2、安裝tcl組件包(安裝Redis需要tcl支持)
下載:http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
上傳tcl8.6.1-src.tar.gz到/usr/local/src目錄
cd /usr/local/src #進入軟件包存放目錄
tar zxvf tcl8.6.1-src.tar.gz #解壓
cd tcl8.6.1 #進入安裝目錄
cd unix
./configure --prefix=/usr --without-tzdata --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit) #配置
make #編譯
sed -e "s@^(TCL_SRC_DIR=').*@1/usr/include'@" -e "/TCL_B/s@='(-L)?.*unix@='1/usr/lib@" -i tclConfig.sh
make install #安裝
make install-private-headers
ln -v -sf tclsh8.6 /usr/bin/tclsh
chmod -v 755 /usr/lib/libtcl8.6.so
3、安裝Redis
下載:http://download.redis.io/redis-stable.tar.gz
上傳redis-stable到/usr/local/src目錄
cd /usr/local/src
tar -zxvf redis-stable.tar.gz #解壓
mv redis-stable /usr/local/redis #移動文件到安裝目錄
cd /usr/local/redis #進入安裝目錄
make #編譯
make install #安裝
cd /usr/local/bin #查看是否有下面文件,如果沒有,拷貝下面文件到/usr/local/bin目錄
cd /usr/local/redis
mkdir -p /usr/local/bin
cp -p redis-server /usr/local/bin
cp -p redis-benchmark /usr/local/bin
cp -p redis-cli /usr/local/bin
cp -p redis-check-dump /usr/local/bin
cp -p redis-check-aof /usr/local/bin
ln -s /usr/local/redis/redis.conf /etc/redis.conf #添加配置文件軟連接
vi /etc/redis.conf #編輯
daemonize yes #設置后臺啟動redis
:wq! #保存退出
redis-server /etc/redis.conf #啟動redis服務
redis-cli shutdown #關閉redis
vi /etc/sysctl.conf #編輯,在最后一行添加下面代碼
vm.overcommit_memory = 1
:wq! #保存退出
sysctl -p #使設置立即生效
4、設置redis開機啟動
vi /etc/init.d/redis #編輯,添加以下代碼
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
# redis Startup script for redis processes
# processname: redis
redis_path="/usr/local/bin/redis-server"
redis_conf="/etc/redis.conf"
redis_pid="/var/run/redis.pid"
# Source function library.
. /etc/rc.d/init.d/functions
[ -x $redis_path ] || exit 0
RETVAL=0
prog="redis"
# Start daemons.
start() {
if [ -e $redis_pid -a ! -z $redis_pid ];then
echo $prog" already running...."
exit 1
fi
echo -n $"Starting $prog "
# Single instance for all caches
$redis_path $redis_conf
RETVAL=$?
[ $RETVAL -eq 0 ] && {
touch /var/lock/subsys/$prog
success $"$prog"
}
echo
return $RETVAL
}
# Stop daemons.
stop() {
echo -n $"Stopping $prog "
killproc -d 10 $redis_path
echo
[ $RETVAL = 0 ] && rm -f $redis_pid /var/lock/subsys/$prog
RETVAL=$?
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if test "x`pidof redis`" != x; then
stop
start
fi
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 1
esac
exit $RETVAL
:wq! #保存退出
chmod 755 /etc/init.d/redis #添加腳本執行權限
chkconfig --add redis #添加開啟啟動
chkconfig --level 2345 redis on #設置啟動級別
chkconfig --list redis #查看啟動級別
service redis restart #重新啟動redis
系統運維 www.osyunwei.com 溫馨提醒:qihang01原創內容 版權所有,轉載請注明出處及原文鏈接
5、設置redis配置文件參數
mkdir -p /usr/local/redis/var #創建redis數據庫存放目錄
vi /etc/redis.conf #編輯
daemonize yes #以后臺daemon方式運行redis
pidfile "/var/run/redis.pid" #redis以后臺運行,默認pid文件路徑/var/run/redis.pid
port 6379 #默認端口
bind 127.0.0.1 #默認綁定本機所有ip地址,為了安全,可以只監聽內網ip
timeout 300 #客戶端超時設置,單位為秒
loglevel verbose #設置日志級別,支持四個級別:debug、notice、verbose、warning
logfile stdout #日志記錄方式,默認為標準輸出,logs不寫文件,輸出到空設備/deb/null
logfile "/usr/local/redis/var/redis.log" #可以指定日志文件路徑
databases 16 #開啟數據庫的數量
save 900 1
save 300 10
save 60 10000
創建本地數據庫快照,格式:save * *
900秒內,執行1次寫操作
300秒內,執行10次寫操作
60秒內,執行10000次寫操作
rdbcompression yes #啟用數據庫lzf壓縮,也可以設置為no
dbfilename dump.rdb #本地快照數據庫名稱
dir "/usr/local/redis/var/" #本地快照數據庫存放目錄
requirepass 123456 #設置redis數據庫連接密碼
1、下載
wget http://download.redis.io/releases/redis-2.8.7.tar.gz下載后的文件在當前目錄里 redis-2.8.7.tar.gz
2、編譯安裝
tar xf redis-2.8.7.tar.gz
cd redis-2.8.7make
make install
如果沒有安裝gcc的話會提示gcc not found 于是就需要安裝一下gcc: yum -y install gcc 因為剛開始把yum的源換成163的了,怎么都不行,后來逼迫無奈換回原來的,結果就好了 辛虧剛開始就備份了系統自帶的,可見備份配置文件的好處 其實最好的方法應該是設置添加第三方的源并默認選擇最快的,可以參考 裝好之后重新執行一下上邊的
3、創建配置文件
mkdir /etc/rediscp redis.conf /etc/redis/redis.conf
4、調整下內存分配使用方式并使其生效
echo “vm.overcommit_memory=1”>>/etc/sysctl.conf
此參數可用的值為0,1,2 #0表示當用戶空間請求更多的內存時,內核嘗試估算出可用的內存* *1表示內核允許超量使用內存直到內存用完為止* *2表示整個內存地址空間不能超過`swap+(vm.overcommit_ratio)%`的RAM值*
sysctl -p
5、 修改redis配置
vi /etc/redis/redis.conf
daemonize yes
redis以守護進程的方式運行, #no表示不以守護進程的方式運行(會占用一個終端) timeout 300 客戶端閑置多長時間后斷開連接,默認為0關閉此功能 loglevel verbose 設置redis日志級別 logfile stdout 設置日志文件的輸出方式,如果以守護進程的方式運行redis 并且日志輸出設置為stdout,那么日志信息就輸出到/dev/null里面去了
6、啟動redis
redis-server /etc/redis/redis.conf
7、測試redis
[root@localhost redis]# redis-cli 127.0.0.1:6379> set name wayne
OK 127.0.0.1:6379> get name "wayne" 127.0.0.1:6379>
redis問題解決(MISCONF Redis is configured to save RDB snapshots)
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
使用如下命令解決:
config set stop-writes-on-bgsave-error no
1、安裝編譯工具
yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl
2、安裝tcl組件包(安裝Redis需要tcl支持)
下載:http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
上傳tcl8.6.1-src.tar.gz到/usr/local/src目錄
cd /usr/local/src #進入軟件包存放目錄
tar zxvf tcl8.6.1-src.tar.gz #解壓
cd tcl8.6.1 #進入安裝目錄
cd unix
./configure --prefix=/usr --without-tzdata --mandir=/usr/share/man $([ $(uname -m) = x86_64 ] && echo --enable-64bit) #配置
make #編譯
sed -e "s@^(TCL_SRC_DIR=').*@1/usr/include'@" -e "/TCL_B/s@='(-L)?.*unix@='1/usr/lib@" -i tclConfig.sh
make install #安裝
make install-private-headers
ln -v -sf tclsh8.6 /usr/bin/tclsh
chmod -v 755 /usr/lib/libtcl8.6.so
3、安裝Redis
下載:http://download.redis.io/redis-stable.tar.gz
上傳redis-stable到/usr/local/src目錄
cd /usr/local/src
tar -zxvf redis-stable.tar.gz #解壓
mv redis-stable /usr/local/redis #移動文件到安裝目錄
cd /usr/local/redis #進入安裝目錄
make #編譯
make install #安裝
cd /usr/local/bin #查看是否有下面文件,如果沒有,拷貝下面文件到/usr/local/bin目錄
cd /usr/local/redis
mkdir -p /usr/local/bin
cp -p redis-server /usr/local/bin
cp -p redis-benchmark /usr/local/bin
cp -p redis-cli /usr/local/bin
cp -p redis-check-dump /usr/local/bin
cp -p redis-check-aof /usr/local/bin
ln -s /usr/local/redis/redis.conf /etc/redis.conf #添加配置文件軟連接
vi /etc/redis.conf #編輯
daemonize yes #設置后臺啟動redis
:wq! #保存退出
redis-server /etc/redis.conf #啟動redis服務
redis-cli shutdown #關閉redis
vi /etc/sysctl.conf #編輯,在最后一行添加下面代碼
vm.overcommit_memory = 1
:wq! #保存退出
sysctl -p #使設置立即生效
4、設置redis開機啟動
vi /etc/init.d/redis #編輯,添加以下代碼
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
# redis Startup script for redis processes
# processname: redis
redis_path="/usr/local/bin/redis-server"
redis_conf="/etc/redis.conf"
redis_pid="/var/run/redis.pid"
# Source function library.
. /etc/rc.d/init.d/functions
[ -x $redis_path ] || exit 0
RETVAL=0
prog="redis"
# Start daemons.
start() {
if [ -e $redis_pid -a ! -z $redis_pid ];then
echo $prog" already running...."
exit 1
fi
echo -n $"Starting $prog "
# Single instance for all caches
$redis_path $redis_conf
RETVAL=$?
[ $RETVAL -eq 0 ] && {
touch /var/lock/subsys/$prog
success $"$prog"
}
echo
return $RETVAL
}
# Stop daemons.
stop() {
echo -n $"Stopping $prog "
killproc -d 10 $redis_path
echo
[ $RETVAL = 0 ] && rm -f $redis_pid /var/lock/subsys/$prog
RETVAL=$?
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if test "x`pidof redis`" != x; then
stop
start
fi
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 1
esac
exit $RETVAL
:wq! #保存退出
chmod 755 /etc/init.d/redis #添加腳本執行權限
chkconfig --add redis #添加開啟啟動
chkconfig --level 2345 redis on #設置啟動級別
chkconfig --list redis #查看啟動級別
service redis restart #重新啟動redis
系統運維 www.osyunwei.com 溫馨提醒:qihang01原創內容 版權所有,轉載請注明出處及原文鏈接
5、設置redis配置文件參數
mkdir -p /usr/local/redis/var #創建redis數據庫存放目錄
vi /etc/redis.conf #編輯
daemonize yes #以后臺daemon方式運行redis
pidfile "/var/run/redis.pid" #redis以后臺運行,默認pid文件路徑/var/run/redis.pid
port 6379 #默認端口
bind 127.0.0.1 #默認綁定本機所有ip地址,為了安全,可以只監聽內網ip
timeout 300 #客戶端超時設置,單位為秒
loglevel verbose #設置日志級別,支持四個級別:debug、notice、verbose、warning
logfile stdout #日志記錄方式,默認為標準輸出,logs不寫文件,輸出到空設備/deb/null
logfile "/usr/local/redis/var/redis.log" #可以指定日志文件路徑
databases 16 #開啟數據庫的數量
save 900 1
save 300 10
save 60 10000
創建本地數據庫快照,格式:save * *
900秒內,執行1次寫操作
300秒內,執行10次寫操作
60秒內,執行10000次寫操作
rdbcompression yes #啟用數據庫lzf壓縮,也可以設置為no
dbfilename dump.rdb #本地快照數據庫名稱
dir "/usr/local/redis/var/" #本地快照數據庫存放目錄
requirepass 123456 #設置redis數據庫連接密碼
云樞智聯(海南)信息技術有限公司(原中江網絡),成立于2005年,經過20多年定制開發經驗,積累了大量技術儲備和定制開發經驗,是一家集軟件研發、互聯網應用為一體的綜合信息技術服務提供商。公司擁有核心的策劃團隊和專業的技術研發團隊,致力于采用領先的信息技術,長期為涉及智慧園區/廠區/校園領域的各個企業提供快速、高效、安全的信息技術支持。公司立足智慧園區和智慧教育行業,通過軟硬件的研發和互聯網應用,疏通各企業間“端到端”的信息傳輸,靈活滿足智慧園區和智慧教育企業間不同用戶的需求,為其提供完善的信息化解決方案。
園區管理系統,提供智慧園區綜合管理系統,智慧園區設計方案咨詢,智慧園區管理系統、...