redis搭建docker及使用

一、搭建docker的Redis镜像

路径: /opt/docker/redis

1.创建文件夹

mkdir   /opt/docker/redis/data
mkdir   /opt/docker/redis/conf
chmod -R 777 /opt/docker/redis/*

2.拉取镜像,可指定版本

docker pull redis
  1. docker-compose创建redis.yaml
vim redis.yaml
version: '3' #设置docker compose 版本
services: #设置services
  redis:
    image: redis:latest  #镜像名称
    container_name: redis #容器名称
    restart: always  #重启docker引擎后该容器也重启
    ports:
      - 6379:6379 #本地端口号与容器内部端口号
    volumes: #指定挂载目录
      - ./redis/conf/redis.conf:/usr/local/etc/redis/redis.conf:rw
      - ./redis/data:/data:rw
      #redis.conf文件和data目录分别映射了主机的redis.conf文件和主机的data目录 rw表示读写权限
      logging: # 日志配置
      driver: "json-file" # 指定日志驱动程序为"json-file",这意味着容器的日志将以JSON格式进行记录。
      options:
        max-size: "500m" # 该配置选项设置了容器日志文件的最大大小为500MB。当日志文件达到这个大小时,Docker将自动对其进行轮转(即创建一个新的日志文件,并对旧的日志文件进行归档或删除)
    networks: # 网络
      - test-net
    command:  # 指定了Redis容器启动时要执行的命令
      /bin/bash -c "redis-server /usr/local/etc/redis/redis.conf " #使用command可以覆盖容器启动后默认执行的命令。这里启动执行指定的redis.conf文件

创建conf/redis.conf

vim conf/redis.conf
protected-mode no # 禁用保护模式,允许外部网络访问 Redis 服务
port 6379 #指定容器内部监听的端口号为 6379
timeout 0 #设置客户端连接的超时时间为 0,表示永不超时。
save 900 1 # 900s内至少一次写操作则执行bgsave进行RDB持久化
save 300 10
save 60 10000
rdbcompression yes #启用 RDB 文件压缩,可以减小磁盘占用空间
dbfilename dump.rdb # 指定 RDB 持久化文件的名称为 dump.rdb
dir /data #指定 Redis 数据库文件的存储目录为 /data
appendonly yes # 启用 AOF(Append Only File)持久化机制
appendfsync everysec # 每秒同步一次 AOF 文件到磁盘,平衡性能和数据安全
requirepass 123 # 设置 Redis 访问密码为 "123",要求客户端连接时提供正确的密码

save配置解读:

1) “save 900 1”表示如果900秒内至少1个key发生变化(新增、修改和删除),则重写rdb文件;

2) “save 300 10”表示如果每300秒内至少10个key发生变化(新增、修改和删除),则重写rdb文件;

3) “save 60 10000”表示如果每60秒内至少10000个key发生变化(新增、修改和删除),则重写rdb文件。

启动容器

docker-compose  -f  redis.yaml  up  -d

二、Redis常用命令

菜鸟教程
https://www.runoob.com/redis/redis-keys.html

#进入redis:   
redis-cli -h 127.0.0.1 -p 6379 -a 123
 
#进入redis客户端输入命令 ping 查看是否启动
192.168.1.1:6379> ping
PONG
 
#有时候会有中文乱码。要在 redis-cli 后面加上 --raw
./redis-cli --raw -h 127.0.0.1 -p 6379
 
#获取所有的key:  
keys * 

#查看某key的value:
get  key

#删除key
del key

# 获取键总数
dbsize

# 移动键
move key db

# 更改键名称
rename key newkey

# 存储值
左端存值语法:lpush key value [value ...]

# 弹出元素
左端弹出语法:lpop key

# 获取元素个数
语法:llen key

# 获取列表元素
两边获取语法:lrange key start stop
lrange key 0 -1

#删除元素
根据值删除语法:lrem key count value
如果 count 大于 0,则从列表的头部开始向尾部搜索,并删除与 value 相等的元素,直到删除 count 个元素为止。
如果 count 小于 0,则从列表的尾部开始向头部搜索,并删除与 value 相等的元素,直到删除 count 绝对值个元素为止。
如果 count 等于 0,则删除列表中所有与 value 相等的元素。
lrem userids 3 222

范围删除语法:ltrim key start stop
保留指定范围内的元素,而删除其他的元素。具体来说,start 和 stop 参数分别表示了要保留的元素的起始和结束索引。

保留列表中索引在 [0, 2] 范围内的元素
LTRIM mylist 0 2

#清除指定库, 使用SELECT命令选择该数据库,然后再执行FLUSHDB命令以清除它
FLUSHDB 

#删除所有的redis数据:
FLUSHALL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值