一,进入/root根目录 pwd
创建文件夹 mkdir redis
进入文件夹 cd redis
docker拉取redis镜像
docker pull redis:6
二,准备redis的配置文件 redis中文官方网站:www.redis.cn/download.ht… 下载后解压出来,拿到 redis.conf
配置 redis.conf 配置文件
****修改redis.conf配置文件,主要配置的如下:
bind 127.0.0.1 #注释掉这部分,使redis可以外部访问
daemonize no#用守护线程的方式启动
requirepass 986532 #你的密码 #给redis设置密码
appendonly yes#redis持久化 默认是no
tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300 protected-mode no 将本地访问保护模式设置为no,找到protectod-mode yes,默认为yes 需要修改为 no
创建本地与docker映射的目录,即本地存放的位置
sudo mkdir /my/myredis
sudo mkdir /my/myredis/data
把配置文件拷贝到刚才创建好的文件里
/my/myredis/redis.conf
三,启动docker redis
docker run -p 6379:6379 \
--name yyredis \
-v /my/myredis/redis.conf:/etc/redis/redis.conf \
-v /my/myredis/data:/data \
-d redis:6 \
--requirepass "password" \
--appendonly yes
docker设置redis密码
docker run -itd --name redis-6379 -p 6379:6379 redis --requirepass 123456
--name (启动容器的名称) -p 映射端口:redis启动端口 redis --requirepass 启动密码
为现有的redis创建密码或修改密码的方法:
#1.进入redis的容器
docker exec -it 容器ID bash
#2.进入redis目录
cd /usr/local/bin
#3.运行命令:
redis-cli
#4.查看现有的redis密码:
config get requirepass
#5.设置redis密码
config set requirepass 密码
设置密码,参考 blog.csdn.net/Lijunhaodeb…
在Java中,缓存对象的时候,要进行序列化,不然报错
implements Serializable
以下仅供参考
docker run \
-p 6379:6379 \
--restart=always \
--name yyredis \
-v /my/myredis/redis.conf:/etc/redis/redis.conf \
-v /my/myredis/data:/data \
-d redis:6 redis-server /etc/redis/redis.conf \
--requirepass "password" \
--appendonly yes
-p 6379:6379:把容器内的6379端口映射到宿主机6379端口
-v /my/myredis/redis.conf:/etc/redis/redis.conf:把宿主机配置好的redis.conf放到容器内的这个位置中
-v /my/myredis/data:/data 把redis持久化的数据在宿主机内显示,做数据备份
redis-server /etc/redis/redis.conf:这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动,加载容器内的conf文件,最终找到的是挂载的目录/my/myredis/redis.conf
–appendonly yes:redis启动后数据持久化
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.4.5.RELEASE</version>
</dependency>
yml配置
spring: redis:
database: 0 # Redis数据库索引(默认为0)
host: localhost # Redis服务器地址
port: 6379 # Redis服务器连接端口
password: # Redis服务器连接密码(默认为空)
lettuce:
pool:
max-active: 8 # 连接池最大连接数(使用负值表示没有限制) 默认 8
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) 默认 -1
max-idle: 8 # 连接池中的最大空闲连接 默认 8
min-idle: 0 # 连接池中的最小空闲连接 默认 0 cache: type: redis
下面是参考 docker 启动 redis 并设置密码
docker run -d --name test_redis -p 6379:6379 redis:5.0 --requirepass "password"
--restart具体参数值详细信息
no - 容器退出时,不重启容器
on-failure - 只有在非0状态退出时才从新启动容器
always - 无论退出状态是如何,都重启容器