Redis 簡介
Redis 是完全開源免費的,遵守BSD協(xié)議,是一個高性能的key-value數(shù)據(jù)庫峭状。
Redis 與其他 key - value 緩存產(chǎn)品有以下三個特點:
Redis支持數(shù)據(jù)的持久化迅脐,可以將內(nèi)存中的數(shù)據(jù)保持在磁盤中,重啟的時候可以再次加載進行使用咕缎。
Redis不僅僅支持簡單的key-value類型的數(shù)據(jù),同時還提供list料扰,set凭豪,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲晒杈。
Redis支持數(shù)據(jù)的備份嫂伞,即master-slave模式的數(shù)據(jù)備份。
Redis 優(yōu)勢
性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
豐富的數(shù)據(jù)類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數(shù)據(jù)類型操作帖努。
原子 – Redis的所有操作都是原子性的撰豺,同時Redis還支持對幾個操作全并后的原子性執(zhí)行。
豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性拼余。
Redis與其他key-value存儲有什么不同污桦?
Redis有著更為復雜的數(shù)據(jù)結(jié)構(gòu)并且提供對他們的原子性操作,這是一個不同于其他數(shù)據(jù)庫的進化路徑匙监。Redis的數(shù)據(jù)類型都是基于基本數(shù)據(jù)結(jié)構(gòu)的同時對程序員透明凡橱,無需進行額外的抽象。
Redis運行在內(nèi)存中但是可以持久化到磁盤亭姥,所以在對不同數(shù)據(jù)集進行高速讀寫時需要權(quán)衡內(nèi)存稼钩,應為數(shù)據(jù)量不能大于硬件內(nèi)存。在內(nèi)存數(shù)據(jù)庫方面的另一個優(yōu)點是达罗, 相比在磁盤上相同的復雜的數(shù)據(jù)結(jié)構(gòu)坝撑,在內(nèi)存中操作起來非常簡單,這樣Redis可以做很多內(nèi)部復雜性很強的事情氮块。 同時绍载,在磁盤格式方面他們是緊湊的以追加的方式產(chǎn)生的,因為他們并不需要進行隨機訪問滔蝉。
環(huán)境
CentOS 7.2 64位
搭建流程
下載击儡,解壓,編譯安裝
cd /opt
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
tar xzf redis-4.0.1.tar.gz
cd redis-4.0.1
make
創(chuàng)建配置
redis默認的 redis.conf 配置文件內(nèi)容太多蝠引,很多配置阳谍,不太好,如果后面用的時候螃概,再往自己定義的配置文件加
1.創(chuàng)建 redis-sentinel 目錄 用于放自定義配置文件啟動 redis.conf
mkdir redis-sentinel
2.在 redis-sentinel 目錄下矫夯,創(chuàng)建 redis.conf
cd /opt/redis-4.0.1/redis-sentinel
vim redis.conf
3.把如下Redis.conf 配置內(nèi)容粘貼進去
Redis.conf 配置
port 6379
# bind 127.0.0.1
daemonize yes
pidfile /var/run/redis_6379.pid
appendonly yes
requirepass 123456
redis.conf 配置說明
#端口7000
port 7000
#默認IP為127.0.0.1,需要改為其他節(jié)點機器可訪問的IP
bind 192.168.252.101
#redis后臺運行
daemonize yes
#當 Redis 以守護進程的方式運行的時候吊洼,Redis 默認會把 pid 文件放在/var/run/redis_6379.pid
pidfile /var/run/redis_6379.pid
#aof日志開啟训貌,有需要就開啟,它會每次寫操作都記錄一條日志
appendonly yes
#requirepass冒窍,密碼認證递沪,不需要可以給前面加個 # 注釋掉,為了方便測試综液,密碼給改成了123456
requirepass 123456
設置完款慨,按“ESC”鍵,輸入:wq!保存退出
啟動服務
使用指定配置文件啟動
./redis-server ../redis-sentinel/redis.conf
查看啟動狀態(tài)
ps -ef | grep redis
編輯redis開機啟動redis腳本
vim /etc/init.d/redis
在/etc/init.d/redis文件中添加以下內(nèi)容
#!/bin/sh
#kconfig: 345 86 14
#description: Startup and shutdown script for Redis
PROGDIR=/opt/redis-4.0.1 #安裝路徑
PROGNAME=src/redis-server
DAEMON=$PROGDIR/$PROGNAME
CONFIG=/opt/redis-4.0.1/redis-sentinel/redis.conf
PIDFILE=/var/run/redis_6379.pid
DESC="redis daemon"
SCRIPTNAME=/etc/rc.d/init.d/redis
start()
{
if test -x $DAEMON
then
echo -e "Starting $DESC: $PROGNAME"
if $DAEMON $CONFIG
then
echo -e "OK"
else
echo -e "failed"
fi
else
echo -e "Couldn't find Redis Server ($DAEMON)"
fi
}
stop()
{
if test -e $PIDFILE
then
echo -e "Stopping $DESC: $PROGNAME"
if kill `cat $PIDFILE`
then
echo -e "OK"
else
echo -e "failed"
fi
else
echo -e "No Redis Server ($DAEMON) running"
fi
}
restart()
{
echo -e "Restarting $DESC: $PROGNAME"
stop
start
}
list()
{
ps aux | grep $PROGNAME
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
list)
list
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|list}" >&2
exit 1
;;
esac
exit 0
設置權(quán)限
chmod 755 /etc/init.d/redis
使用腳本啟動
service redis start
停止服務
service redis stop
重啟服務
service redis restart
查看進程
service redis list
Redis Desktop Manager連接Redis
Redis Desktop Manager是Redis圖形化管理工具谬莹,方便管理人員更方便直觀地管理Redis數(shù)據(jù)檩奠。
然而在使用Redis Desktop Manager之前桩了,有幾個要素需要注意:
編輯防火墻配置文件
vim /etc/sysconfig/iptables
加入
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
設置完,按“ESC”鍵埠戳,輸入:wq!保存退出
重啟防火墻配置
systemctl restart iptables.service
可以在window系統(tǒng)中的cmd命令里輸入telnet 192.168.8.129 6379井誉,看是否Telnet通
如果不報錯,并且進入了如圖界面乞而,證明配置沒有問題
如果上面都沒問題送悔,可以用Redis Desktop Manager工具連接192.168.8.129服務器里的redis服務了