在Spring Boot项目中使用Redis集群
Redis安装
Mac 系统安装Redis
brew方式安装
在命令汗执行命令
brew install redis
安装完成之后的提示信息
==> Downloading https://homebrew.bintray.com/bottles/redis-5.0.2.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring redis-5.0.2.mojave.bottle.tar.gz
==> Caveats
To have launchd start redis now and restart at login:
brew services start redis
Or, if you don't want/need a background service you can just run:
redis-server /usr/local/etc/redis.conf
==> Summary
/usr/local/Cellar/redis/5.0.2: 13 files, 3.1MB
启动redis服务
brew services start redis
启动后提示信息
==> Successfully started `redis` (label: homebrew.mxcl.redis)
下面我们来使用redis内置的客户端来访问redis
$ src/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
下面我们就可以操作了redis了。
如果要停止redis服务,可以执行命令
brew services stop redis
重启redis服务,可以执行命令
brew services restart redis
如果需要卸载redis,可以执行
brew uninstall redis
查看HomeBrew安装的全部服务可以使用命令
brew services list
配置文件在/usr/local/etc
目录下
源代码编译安装
1. 下载
$ wget http://download.redis.io/releases/redis-5.0.3.tar.gz
2. 解压
$ tar xzf redis-5.0.3.tar.gz
$ cd redis-5.0.3
$ make
3. 跳转到redis目录编译
$ cd redis-5.0.3 && make
如果需要跑redis的测试,可以执行
$ make test
到现在我们就编译好了redis了。接下来,我们把编译的文件放到redis-5.0.3/bin
目录下,把配置文件移动到redis-5.0.3/config
目录下
$ mkdir bin && cd src && mv redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb ../bin/
$ cd ../ && mkdir config && mv *.conf config/
接下来启动redis服务
$ bin/redis-server
现在我们可以启动redis的客户端来检查是否是确定服务正常。
$ bin/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
集群配置
我们这里配置官方推荐的三主三从模式的集群配置。这里使用的是采用源代码编译方式安装的版本。
首先,我们修改配置文件reids.conf
,主要修改以下属性:
port 6380 // 节点端口
daemonize yes // 配置redis作为守护进程运行,默认情况下,redis不是作为守护进程运行的
cluster-enabled yes // 是否开启集群
cluster-config-file nodes-6380.conf // 该节点的对应的节点配置文件
cluster-node-timeout 15000 // 集群超时时间
pidfile /var/run/redis_6380.pid // 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
我们将文件另存为redis-6380.conf
,并将该文件复制5份,分别修改文件中的6380为6381,6382,6383,6384,6385。
这样我们就有如下六个配置文件。
redis-6380.conf
redis-6381.conf
redis-6382.conf
redis-6383.conf
redis-6384.conf
redis-6385.conf
其中redis-6380.conf
,redis-6381.conf
,redis-6382.conf
文件为主节点的配置文件,redis-6383.conf
,redis-6384.conf
,redis-6385.conf
为从节点的配置文件。
下面我们执行以下命令
$ mkdir logs
$ nohup bin/redis-server ./config/redis-6380.conf >> logs/redis-6380.log 2>&1 &
$ nohup bin/redis-server ./config/redis-6381.conf >> logs/redis-6381.log 2>&1 &
$ nohup bin/redis-server ./config/redis-6382.conf >> logs/redis-6382.log 2>&1 &
$ nohup bin/redis-server ./config/redis-6383.conf >> logs/redis-6383.log 2>&1 &
$ nohup bin/redis-server ./config/redis-6384.conf >> logs/redis-6384.log 2>&1 &
$ nohup bin/redis-server ./config/redis-6385.conf >> logs/redis-6385.log 2>&1 &
之后运行命令
./bin/redis-cli --cluster create 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 --cluster-replicas 1
当提示
Can I set the above configuration?(type 'yes' to accept):
时输入 yes 。至此集群就搭建完毕了。
Spring Boot项目中配置redis集群
将Spring boot项目中的redis配置修改为:
redis:
database: 0
cluster:
nodes: 127.0.0.1:6380,127.0.0.1:6381,127.0.0.1:6382,127.0.0.1:6383,127.0.0.1:6384,127.0.0.1:6385
max-redirects: 2
到这里就可以在项目中访问Redis集群了