拉取Redis
redis的读写分离:
Java整合Jedis:
Java整合Redis:
docker拉取redis
拉取redis镜像,不选择版本号,默认拉取最新版本的redis
docker pull redis
创建实例并启动
在执行挂载的命令前,需要先创建对应的文件夹,之后输入挂载命令(不创建目录 后期使用redis时容易出问题)
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
参数说明及配置
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/redis.conf:/etc/redis/redis.conf \【将/etc/redis/redis.conf挂载到Linux中指定目录下】
-d --restart=always [配置开机启动]
redis自描述文件
redis自描述文件:
https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf
连接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持久化
在redis.conf中 配置开启持久化
进入conf目录
cd /mydata/redis/conf
vi redis.conf
进入redis.conf文件中,按【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 保存并退出
输入命令可以抓取查看redis.conf文件中的配置信息
cat redis.conf
搭建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 nodes-node-01.conf --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 nodes-node-02.conf --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 nodes-node-03.conf --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/rc.d/init.d/iptables save
#修改安装目录下的redis.conf文件
vim redis.conf
修改以下配置:
#bind 127.0.0.1 # 指定IP(或将这行代码注释,监听所有的ip地址,外网可以访问)访问
protected-mode no # 把yes改成no,允许外网访问
daemonize yes # 把no改成yes,后台运行
集群的连接配置
配置集群
spring.redis.cluster.nodes=IP地址:6379,IP地址:6380,IP地址:6381
spring.redis.cluster.max-redirects=5