拉取Redis
redis的读写分离:/qq_51076413/article/details/123462448
Java整合Jedis:/qq_51076413/article/details/123462857
Java整合Redis:/qq_51076413/article/details/123462896
docker拉取redis
拉取redis镜像,不选择版本号,默认拉取最新版本的redis
docker pull redis
创建实例并启动
在执行挂载的命令前,需要先创建对应的文件夹,之后输入挂载命令(不创建目录 后期使用redis时容易出问题)
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/:/etc/redis/ \
-d redis redis-server /etc/redis/
参数说明及配置
mkdir -p /mydata/redis/conf【首先需要创建好指定的文件夹目录】
docker run 【运行docker容器】
-p 6379:6379【端口映射,将docker中的6379端口映射到主机的端口上】 -p:端口映射
–name redis【为容器起名】
-v /mydata/redis/data:/data \【-v:目录挂载,将容器内部的data 文件夹挂载到Linux的/mydata/redis/data目录里】
-V /mydata/redis/conf/:/etc/redis/ \【将/etc/redis/挂载到Linux中指定目录下】
-d --restart=always [配置开机启动]
redis自描述文件
redis自描述文件:
/antirez/redis/4.0/
连接redis客户端
docker exec -it redis redis-cli
测试redis
set a b
get a
exit
参数说明
set a b 在redis中添加数据,set 名称 值
get a 获取a的值
exit 退出redis客户端
此时并未做持久化,重启redis后数据就会丢失
开启redis持久化
在中 配置开启持久化
进入conf目录
cd /mydata/redis/conf
vi
进入文件中,按【i】键,进行输入,输入以下命令,开启持久化【开启的时AOF模式的持久化】
# 持久化
appendonly yes
# 允许外网访问 yes-不运许外网访问 no-允许
protected-mode no
# 允许后台运行 yes-运行后台运行 no-不运许
# daemonize yes
# 监听访问ip,指定的ip才能访问(注释掉或指定IP)
# bind 127.0.0.1
# redis访问密码
requirepass root
之后按Esc键wq 保存并退出
输入命令可以抓取查看文件中的配置信息
cat
搭建Redis的集群
该集群有3个节点
#部署Redis集群,该集群有3个节点
docker create --name redis-node01 --restart=always --net host -v redis-node01:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file --port 6379
docker create --name redis-node02 --restart=always --net host -v redis-node02:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file --port 6380
docker create --name redis-node03 --restart=always --net host -v redis-node03:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file --port 6381
#启动容器
docker start redis-node01 redis-node02 redis-node03
#进入redis-node01容器进行操作 组件集群操作
docker exec -it redis-node01 /bin/bash
#组件集群 为0表示没有父节点
redis-cli --cluster create IP地址:6379 IP地址:6380 IP地址:6381 --cluster-replicas 0
#创建多副本集群--了解
#redis-cli --cluster create IP地址:6379 IP地址:6380 IP地址:6381 IP地址:16379 IP地址:16380 IP地址:16381 --cluster-replicas 1
#进入redis客户端命令行 查看redis节点
docker exec -it redis-node01 /bin/bash
redis-cli
#查询集群信息
127.0.0.1:6379> CLUSTER NODES
4f4fddc825e2387783fff9c972409b264e4df5d5 IP地址:6381@16381 master - 0 1563956537241 3 connected 10923-16383
0616e00533a16e931f8dfb2e8844c35ca5721dc8 IP地址:6380@16380 master - 0 1563956538243 2 connected 5461-10922
498b986e07731cead17ad1c62aa95dba6513c7b0 IP地址:6379@16379 myself,master - 0 1563956537000 1 connected 0-5460
#如果上述步骤出现错误,请重新部署
#重新创建redis容器,因为原有的容器中固定了ip地址的配置
docker stop redis-node01 redis-node02 redis-node03
docker rm redis-node01 redis-node02 redis-node03
#清理挂载数据
docker volume prune
#如需远程连接redis,需配置redis端口6379,在linux防火墙中放开端口
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
/etc///iptables save
#修改安装目录下的文件
vim
修改以下配置:
#bind 127.0.0.1 # 指定IP(或将这行代码注释,监听所有的ip地址,外网可以访问)访问
protected-mode no # 把yes改成no,允许外网访问
daemonize yes # 把no改成yes,后台运行
集群的连接配置
配置集群
=IP地址:6379,IP地址:6380,IP地址:6381
-redirects=5