只需九步教你用docker安装、登录远程redis以及使用pipe批量导入缓存数据

本文详细介绍了如何在Docker环境下搜索、拉取Redis镜像,创建并配置宿主机redis文件,挂载配置和数据,启动容器并设置权限,以及验证和导入数据的过程。

前提:已安装docker

步骤:

第一步、Docker使用search命令搜索redis镜像

命令:docker search <镜像名称>

docker search redis

命令执行效果截图:

第二步、Docker使用pull命令拉取镜像

命令::docker pull <镜像名称>:<版本号>

docker pull redis

第三步、宿主机创建redis配置文件

mkdir -p /data/wwwroot/web/work/software/redis/data
cd /data/wwwroot/web/work/software/redis
touch redis.conf
vi redis.conf

复制虚线start和虚线end之间的文本:
--------------------------------------start--------------------------------------

# bind 192.168.56.102
# bind 127.0.0.1 ::1
#bind 127.0.0.1

protected-mode no

port 6379

tcp-backlog 128

requirepass 000415

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""

maxmemory 256mb

databases 30

always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./

replica-serve-stale-data yes

replica-read-only yes

repl-diskless-sync no

repl-disable-tcp-nodelay no

replica-priority 100

lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

appendonly yes

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

aof-use-rdb-preamble yes

lua-time-limit 5000

slowlog-max-len 128

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

stream-node-max-bytes 4096
stream-node-max-entries 100

activerehashing yes

hz 10

dynamic-hz yes

aof-rewrite-incremental-fsync yes

rdb-save-incremental-fsync yes

--------------------------------------end--------------------------------------

vi redis.conf后输入i进入插入模式

1、然后将复制的文本粘贴到redis.conf文件中
2、粘贴内容到redis配置文件中后输入esc键盘退出插入模式
3、输入:x并回车后保存文件退出

命令执行效果截图:

第四步、Docker挂载宿主机配置文件

为了数据的持久化需要将要宿主机中redis配置文件挂载到容器目录下,以配置文件方式启动redis 容器。

1、挂载宿主机redis的配置文件:/data/wwwroot/web/work/software/redis/redis.conf

2、挂载宿主机redis的数据文件:/data/wwwroot/web/work/software/redis/data

# 进入redis配置目录
cd  /data/wwwroot/web/work/software/redis
# 查看当前目录
pwd
# 查看redis配置文件redis.conf和redis数据data目录
ls

命令执行效果截图:

第五步、Docker使用run命令启动redis 容器

# 执行docker运行容器命令
docker run --name redis-new --privileged=true --restart=always -p 6482:6379 --log-opt max-size=200m --log-opt max-file=3 -v /data/wwwroot/web/work/software/redis/redis.conf:/etc/redis/redis.conf -v /data/wwwroot/web/work/software/redis/data:/data -d redis redis-server /etc/redis/redis.conf  --requirepass 123456

# 容器命令参数说明:
docker run 运行容器
--name redis-new 容器名称定义为redis-new
--privileged=true 指定容器为特权容器,特权容器拥有所有的capabilities,使用该参数后container内的root拥有真正的root权限。container内的root只是外部的一个普通用户权限,privileged启动的容器,可以看到很多host上的设备,并且可以执行mount,甚至允许你在docker容器中启动docker容器
--restart=always 开机自启动
-p 6482:6379 将容器的6379端口映射到宿主机的6482端口,宿主机端口如若冲突请换个端口
--log-opt max-size=200m 指定日志文件大小上限为200M
--log-opt max-file=3  指定日志文件个数做多3个,只保存最新的3个日志文件
-v /data/wwwroot/web/work/software/redis/redis.conf:/etc/redis/redis.conf  宿主机文件/data/wwwroot/web/work/software/redis/redis.conf挂载到容器文件/etc/redis/redis.conf中
-v /data/wwwroot/web/work/software/redis/data:/data 宿主机目录/data/wwwroot/web/work/software/redis/data挂载到容器目录/data中
-d redis 后台运行redis
redis-server /etc/redis/redis.conf 以配置容器中的配置文件启动redis,配置文件最终映射的还是宿主机的配置文件:/data/wwwroot/web/work/software/redis/redis.conf
--requirepass 123456 设置redis连接密码为123456

命令执行效果截图:

第六步、Docker使用ps命令查看最新创建的容器

 docker ps -n 1

第七步、Docker使用exec命令进入容器验证登录redis

# docker进入容器并运行redis-cli
docker exec -it redis-new redis-cli
回车执行redis-cli命令后输入 auth 123456敲回车返回ok登录成功,exit退出容器

命令执行效果截图:

第八步、通过echo将批量执行命令写入到string-set.txt文件中

# 重新进入容器
docker exec -it redis-new /bin/bash

# 通过echo批量写入到string-set.txt文件中
echo "set user_status_set:1 1" > string-set.txt
echo "set user_status_set:2 1" >> string-set.txt
echo "set user_status_set:3 1" >> string-set.txt
echo "set user_status_set:4 1" >> string-set.txt
...

# cat 命令查看文件内容
cat string-set.txt

命令执行效果截图:

第九步、批量导入数据到redis

# 通过批量执行命令–-pipe:批量导入string类型数据
cat string-set.txt | redis-cli -h 127.0.0.1 -p 6379 -a 123456 --pipe

# redis-cli登录后通过keys查看导入结果
keys user_status_set*

命令执行效果截图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员混江湖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值