0棚品、何為Redis
Redis是一個(gè)key-value存儲(chǔ)系統(tǒng)靠欢。和Memcached類似,它支持存儲(chǔ)的value類型相對(duì)更多铜跑,包括string(字符串)门怪、list(鏈表)、set(集合)和zset(有序集合)锅纺。這些數(shù)據(jù)類型都支持push/pop掷空、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的囤锉。在此基礎(chǔ)上坦弟,Redis支持各種不同方式的排序。與memcached一樣官地,為了保證效率酿傍,數(shù)據(jù)都是緩存在內(nèi)存中。區(qū)別的是Redis會(huì)周期性的把更新的數(shù)據(jù)寫(xiě)入磁盤(pán)或者把修改操作寫(xiě)入追加的記錄文件驱入,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步赤炒。Redis 是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)。 Redis的出現(xiàn)亏较,很大程度補(bǔ)償了memcached這類keyvalue存儲(chǔ)的不足莺褒,在部分場(chǎng)合可以對(duì)關(guān)系數(shù)據(jù)庫(kù)起到很好的補(bǔ)充作用。
1雪情、Redis 安裝
1.1 安裝前環(huán)境說(shuō)明
使用的是CentOS 7 版本的Linux系統(tǒng)遵岩,
master ip 為192.168.2.143 :6379
slave ip 為192.168.2.127 :6380
虛擬機(jī)工具使用的是Vm,但是如果在一臺(tái)虛擬機(jī)上進(jìn)行測(cè)試,一定要修改主從redis的端口,使其不一樣
1.2 一鍵下載安裝Redis
echo '========================'
systemctl disable firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
yum install iptables-services
systemctl start iptables.service
systemctl status iptables.service
pwd
cd /usr/local/src/
yum install wget
yum install tcl
yum install -y gcc-c++
yum install -y tcl
yum install gcc
yum install cpp
yum install cpp
yum install glibc-devel
yum install libmpc
yum install glibc-headers
yum install kernel-headers
yum install gcc-c++
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
tar xzf redis-4.0.8.tar.gz
cd redis-4.0.8
make & make test
echo '========================'
2 Redis 簡(jiǎn)單配置
所有配置修改都在此配置文件
/usr/local/redis-4.0.1/redis.conf
2.1 修改為守護(hù)進(jìn)程的方式運(yùn)行
Redis默認(rèn)不是以守護(hù)進(jìn)程的方式運(yùn)行,可以通過(guò)該配置項(xiàng)修改巡通,使用yes啟用守護(hù)進(jìn)程
#daemonize no
#修改為yes
daemonize yes
2.2 綁定的主機(jī)地址
bind后面再添加主機(jī)的ip旷余,后面主從復(fù)制
從Redis需要通過(guò)IP連接。
bind 127.0.0.1 10.211.55.3
2.3 設(shè)置Redis 密碼
這里密碼設(shè)置為javen
# requirepass foobared
requirepass javen
2.4 設(shè)置Redis 端口號(hào)
默認(rèn)端口為6379
port 6379
3扁达、測(cè)試Redis
- 啟動(dòng)
#默認(rèn)配置文件/usr/local/redis-4.0.1/redis.conf
src/redis-server
#或者指定配置文件
src/redis-server redis.conf
后端啟動(dòng)
src/redis-server &
- 客戶端連接
src/redis-cli
# 如果有密碼則
src/redis-cli -a Javen
- 停止
#默認(rèn)配置文件 /usr/local/redis-4.0.1/redis.conf 中的端口
src/redis-cli shutdown
#指定端口
src/redis-cli -p 6666 shutdown
4正卧、Redis 主從復(fù)制配置
Redis的主從復(fù)制功能非常強(qiáng)大,一個(gè)master可以擁有多個(gè)slave跪解,而一個(gè)slave又可以擁有多個(gè)slave炉旷,如此下去,形成了強(qiáng)大的多級(jí)服務(wù)器集群架構(gòu)叉讥。下面簡(jiǎn)單的進(jìn)行一下配置窘行。
修改slave的redis配置文件
master的redis配置文件只要設(shè)置好
bind
即可修改slave的redis配置文件
slaveof 10.211.55.3 6379 (映射到主服務(wù)器上,6379
是端口號(hào))
也可以動(dòng)態(tài)設(shè)置:
通過(guò)redis-cli 連接到從節(jié)點(diǎn)服務(wù)器图仓,執(zhí)行下面命令即可罐盔。
slaveof 10.211.55.3 6379如果master設(shè)置了驗(yàn)證密碼,還需配置masterauth救崔。我這里的master設(shè)置了驗(yàn)證密碼為javen惶看,所以配置masterauth javen捏顺。
配置完之后啟動(dòng)slave的Redis服務(wù),OK纬黎,主從配置完成(是不是很簡(jiǎn)單)幅骄。
下面測(cè)試一下:
在master和slave分別執(zhí)行info命令,查看結(jié)果如下:
slave:
[root@centos-linux-2 redis-4.0.1]# src/redis-cli
127.0.0.1:6379> info
如果從Redis連接到了master則
master_link_status:up
否則為down
本今。如果為down
請(qǐng)堅(jiān)持master的Redis是否bind
了主機(jī)的IP以及是否設(shè)置了密碼拆座。因?yàn)閺腞edis是遠(yuǎn)程連接必須設(shè)置bind
,如果master的Redis設(shè)置了密碼slave的Redis必須設(shè)置masterauth
master:
然后在master執(zhí)行set age 18
在slave執(zhí)行g(shù)et age冠息,看是否能得到18挪凑,如果能夠得到值則說(shuō)明配置成功。
下面把slave修改的參數(shù)貼出來(lái):
daemonize yes
bind 127.0.0.1 10.211.55.4
requirepass javen
port 6379
slaveof 10.211.55.3 6379
masterauth javen
5逛艰、Redis 遠(yuǎn)程連接
用法:redis-cli [OPTIONS] [cmd [arg [arg …]]]
-h <主機(jī)ip>躏碳,默認(rèn)是127.0.0.1
-p <端口>,默認(rèn)是6379
-a <密碼>瓮孙,如果redis加鎖,需要傳遞密碼
–help选脊,顯示幫助信息
redis-cli -h 10.211.55.4 -p 6379 -a javen
cover
main:
https://redis.io/
http://blog.csdn.net/zyw_java/article/details/76717276
see :
http://blog.csdn.net/jc_benben/article/details/77140936
http://blog.csdn.net/qq_36787384/article/details/76639519
https://www.cnblogs.com/zqr99/p/7899779.html
http://blog.csdn.net/zyhlearnjava/article/details/73008054
http://blog.csdn.net/lc1010078424/article/details/78295482
note:
所用腳本文件
https://pan.baidu.com/s/1cNhG6fOdcBKK7lEzy771sQ