redis环境搭建
1.docker方式
2.进入docker仓库,选择相关版本查看
目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。
3.下载镜像
docker pull redis:6.0
4.启动实例
docker run -d --name redis -p 6379:6379 redis:6.0 redis-server --appendonly yes --requirepass "123456"
说明:
run -d:后台运行
--name:服务名
-p:对外暴露端口
redis-server --appendonly yes:在容器执行redis-server启动命令,并打开redis持久化配置 默认是no
--requirepass:给redis服务设置密码
以上这些参数,都是可以参考==redis.conf==进行配置
5.命令启动链接
docker exec -it b5de014913e8 redis-cli
或者执行下面的命令也可
docker exec -it b5de014913e8 /bin/bash
redis-cli
6.使用工具查看
2.docker-compose方式
2.1 单个服务启动
1.进入某个目录,比如redis目录,创建yaml文件,如下
version: '3.3'
services:
redis:
image: redis:6.0
container_name: redis
restart: always
command: redis-server --requirepass 123456 --appendonly yes
ports:
- 6379:6379
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
注意:
1.redis的默认映像没有redis.conf,您将必须将其复制到映像或使用卷映射将其映射到主机上。若没有上传并做映射,那么command里也就不用加类似 redis-server /etc/redis.conf这种命令了
2.设置环境变量,相当于docker run命令中的-e*,*设置时区为上海,否则时间会有问题
2.启动工具查看
2.2 集群服务启动
1.进入某个目录,比如redis目录,创建yaml文件,如下
version: '3.3'
services:
redis01:
image: redis:6.0
container_name: redis01
restart: always
network_mode: host
command: redis-server --port 6391 --appendonly yes --cluster-enabled yes
ports:
- 6391:6391
- 16391:16391
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
redis02:
image: redis:6.0
container_name: redis02
restart: always
network_mode: host
command: redis-server --port 6392 --appendonly yes --cluster-enabled yes
ports:
- 6392:6392
- 16392:16392
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
redis03:
image: redis:6.0
container_name: redis03
restart: always
network_mode: host
command: redis-server --port 6393 --appendonly yes --cluster-enabled yes
ports:
- 6393:6393
- 16393:16393
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
redis04:
image: redis:6.0
container_name: redis04
restart: always
network_mode: host
command: redis-server --port 6394 --appendonly yes --cluster-enabled yes
ports:
- 6394:6394
- 16394:16394
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
redis05:
image: redis:6.0
container_name: redis05
restart: always
network_mode: host
command: redis-server --port 6395 --appendonly yes --cluster-enabled yes
ports:
- 6395:6395
- 16395:16395
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
redis06:
image: redis:6.0
container_name: redis06
restart: always
network_mode: host
command: redis-server --port 6396 --appendonly yes --cluster-enabled yes
ports:
- 6396:6396
- 16396:16396
environment:
TZ: Asia/Shanghai
LANG: en_US.UTF-8
redisinsight:
image: redislabs/redisinsight:latest
container_name: redisinsight
restart: always
network_mode: host
ports:
- 8001:8001
volumes:
- /mySoft/myApp/redisinsight:/db
注意:
1.必须要6个节点,不然会报错,如下:
2.--cluster-enabled yes:开启集群节点,不然会报not configured as a cluster node
3.Redis版本需要指定为redis 6 版本,端口需要映射出来两个,一个是服务端口,另一个是集群总线端口,默认为服务端口 + 10000 例如:redis端口为6379,则集群总线端口为16379
4.按照 Redis 官网:redis.io/topics/clus… 的提示,为了使 Docker 与 Redis Cluster 兼容,您需要使用 Docker 的
host
网络模式。
2.启动容器
docker-compose -f docker-compose.yaml up -d
3.随便进入一个节点,然后执行如下命令
#比如进入第一个节点
docker exec -it redis01 /bin/bash
#执行如下命令,创建cluster集群
redis-cli --cluster create 192.168.44.135:6391 192.168.44.135:6392 192.168.44.135:6393 192.168.44.135:6394 192.168.44.135:6395 192.168.44.135:6396 --cluster-replicas 1
#看到Can I set the above configuration? (type 'yes' to accept): yes (填写yes)
4.随便进入一个容器,输入下面命令,也可以查看主从信息
redis-cli -p 6395 cluster nodes | grep master
至此一个高可用的 Redis Cluster 集群搭建完成,如下图所示,该集群中包含 6 个 Redis 节点,3 主 3 从。三个主节点会分配槽,处理客户端的命令请求,而从节点可用在主节点故障后,顶替主节点。
5.利用工具查看如下:
注意:redis在单机模式下redis.conf配置文件中默认的数据库数量是16个,在集群模式下这个配置是不起作用的,集群客户端是不支持多数据库db的,只有一个数据库默认是SELECT 0;
3.RedisInsight(Linux) 安装
3.1 docker方式
1.创建一个指定目录,并授权
#比如 /mySoft/myApp/redisinsight ,进入/mySoft/myApp,执行如下命令
chmod 777 redisinsight
2.拉取镜像,然后执行启动
docker pull redislabs/redisinsight
docker run -d -v /mySoft/myApp/redisinsight:/db -p 8001:8001 redislabs/redisinsight:latest
注意:
1.若启动失败,可以通过 docker logs -f 2c2e91712cde43f4adb7c5ea467d9772be73ef8197b1398b91c89e3d0b9a8956 查看日志
3.访问http://192.168.44.135:8001/
,勾选同意,进入工具页面
3.2 docker compose方式
看2.2.2 集群服务启动