0、何為Redis
Redis是一個key-value存儲系統(tǒng)攒岛。和Memcached類似赖临,它支持存儲的value類型相對更多,包括string(字符串)灾锯、list(鏈表)兢榨、set(集合)和zset(有序集合)。這些數(shù)據(jù)類型都支持push/pop顺饮、add/remove及取交集并集和差集及更豐富的操作吵聪,而且這些操作都是原子性的。在此基礎(chǔ)上兼雄,Redis支持各種不同方式的排序吟逝。與memcached一樣,為了保證效率赦肋,數(shù)據(jù)都是緩存在內(nèi)存中块攒。區(qū)別的是Redis會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎(chǔ)上實現(xiàn)了master-slave(主從)同步佃乘。Redis 是一個高性能的key-value數(shù)據(jù)庫囱井。 Redis的出現(xiàn),很大程度補償了memcached這類keyvalue存儲的不足趣避,在部分場合可以對關(guān)系數(shù)據(jù)庫起到很好的補充作用庞呕。
1、Redis 安裝
1.1 安裝前環(huán)境說明
使用的是CentOS 7 版本的Linux系統(tǒng)程帕,
master ip 為10.211.55.3
slave ip 為10.211.55.4
虛擬機工具使用的是Parallels Desktop
1.2 下載Redis
Redis可以到官方網(wǎng)站上面進行下載:https://redis.io/download住练,現(xiàn)在最新的穩(wěn)定版已經(jīng)到4.0了。
這里使用的是redis-4.0.1.tar.gz骆捧。
1.3 安裝步驟
第一種方式安裝:
$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz
$ tar xzf redis-4.0.1.tar.gz -C /usr/local/
$ cd /usr/local/redis-4.0.1
$ make & make test
第二種方式安裝:
# cd redis-2.4.4
# make
# make PREFIX=/usr/local/redis-4.0.1 install
# make test
# cp redis.conf /usr/local/redis-4.0.1
安裝之后的目錄結(jié)構(gòu)
[root@centos-linux-3 redis-4.0.1]# tree
.
├── bin
│ ├── dump.rdb
│ ├── redis-benchmark
│ ├── redis-check-aof
│ ├── redis-check-rdb
│ ├── redis-cli
│ ├── redis-sentinel -> redis-server
│ └── redis-server
├── dump.rdb
└── redis.conf
make
可能出現(xiàn)的異常
make[1]: Leaving directory `/usr/local/redis-4.0.1/src'
make[1]: Entering directory `/usr/local/redis-4.0.1/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/local/redis-4.0.1/src'
make: *** [test] Error 2
解決方案
yum install -y tcl
2澎羞、Redis 簡單配置
所有配置修改都在此配置文件
/usr/local/redis-4.0.1/redis.conf
2.1 修改為守護進程的方式運行
Redis默認不是以守護進程的方式運行髓绽,可以通過該配置項修改敛苇,使用yes啟用守護進程
#daemonize no
#修改為yes
daemonize yes
2.2 綁定的主機地址
bind后面再添加主機的ip,后面主從復(fù)制
從Redis需要通過IP連接顺呕。
bind 127.0.0.1 10.211.55.3
2.3 設(shè)置Redis 密碼
這里密碼設(shè)置為javen
# requirepass foobared
requirepass javen
2.4 設(shè)置Redis 端口號
默認端口為6379
port 6379
3枫攀、測試Redis
- 啟動
#默認配置文件/usr/local/redis-4.0.1/redis.conf
src/redis-server
#或者指定配置文件
src/redis-server redis.conf
- 客戶端連接
src/redis-cli
# 如果有密碼則
src/redis-cli -a Javen
- 停止
#默認配置文件 /usr/local/redis-4.0.1/redis.conf 中的端口
src/redis-cli shutdown
#指定端口
src/redis-cli -p 6666 shutdown
4、Redis 主從復(fù)制配置
Redis的主從復(fù)制功能非常強大株茶,一個master可以擁有多個slave来涨,而一個slave又可以擁有多個slave,如此下去启盛,形成了強大的多級服務(wù)器集群架構(gòu)蹦掐。下面簡單的進行一下配置技羔。
4.1 修改slave的redis配置文件
- master的redis配置文件只要設(shè)置好
bind
即可 - 修改slave的redis配置文件
slaveof 10.211.55.3 6379 (映射到主服務(wù)器上,6379
是端口號)
也可以動態(tài)設(shè)置:
通過redis-cli 連接到從節(jié)點服務(wù)器卧抗,執(zhí)行下面命令即可藤滥。
slaveof 10.211.55.3 6379
- 如果master設(shè)置了驗證密碼,還需配置masterauth社裆。我這里的master設(shè)置了驗證密碼為javen拙绊,所以配置masterauth javen。
配置完之后啟動slave的Redis服務(wù)泳秀,OK标沪,主從配置完成(是不是很簡單)。
下面測試一下:
在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
請堅持master的Redis是否bind
了主機的IP以及是否設(shè)置了密碼。因為從Redis是遠程連接必須設(shè)置bind
磺陡,如果master的Redis設(shè)置了密碼slave的Redis必須設(shè)置masterauth
master:
然后在master執(zhí)行set age 18
在slave執(zhí)行g(shù)et age趴梢,看是否能得到18,如果能夠得到值則說明配置成功币他。
下面把slave修改的參數(shù)貼出來:
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 遠程連接
用法:redis-cli [OPTIONS] [cmd [arg [arg ...]]]
-h <主機ip>,默認是127.0.0.1
-p <端口>蝴悉,默認是6379
-a <密碼>彰阴,如果redis加鎖,需要傳遞密碼
--help拍冠,顯示幫助信息
redis-cli -h 10.211.55.4 -p 6379 -a javen
推薦閱讀:
基于 CentOS Mysql 5.7.19 安裝與主從同步配置詳解
基于CentOS搭建 Git 服務(wù)
基于 CentOS 搭建 FTP 文件服務(wù)
10分鐘搭建屬于自己的ngork服務(wù)器尿这,實現(xiàn)內(nèi)網(wǎng)穿透
JDK開發(fā)環(huán)境搭建及環(huán)境變量配置
極速開發(fā)微信公眾號