4.使用docker安装redis

1.拉去redis
[root@wmd01 bin]# docker pull redis

2.创建文件夹:
    mkdir -p /usr/local/docker/redis/config
    将自己的redis.conf文件放入(此处必须放入自己的redis.conf文件,并且必须是提前放入)
3.启动redis
 docker run -p 6379:6379 --name redis -v /usr/local/docker/redis/config/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
命令解释:
-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
--name myredis 指定该容器名称,查看和进行操作都比较方便。
-v 挂载目录,规则与端口映射相同。
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis/config/redis.conf
appendonly yes 开启redis 持久化



5.docker重启redis服务
[root@wmd01 jdk]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
cd8a28bf1a1c        redis               "docker-entrypoint.s…"   16 minutes ago      Up 16 minutes       0.0.0.0:6379->6379/tcp   redis
[root@wmd01 jdk]# docker restart cd8a28bf1a1c

6.如何验证dokcer启动的redis可用呢
    1.进入交互;
        [root@wmd01 jdk]# docker ps
        CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
        cd8a28bf1a1c        redis               "docker-entrypoint.s…"   20 minutes ago      Up 3 minutes        0.0.0.0:6379->6379/tcp   redis
        [root@wmd01 jdk]# docker exec cd8a28bf1a1c -it /bin/bash

    2.执行命令:
        root@cd8a28bf1a1c:/bin# redis-cli -p 6379
        127.0.0.1:6379> ping
        PONG
        127.0.0.1:6379> set name wmd
        OK
        127.0.0.1:6379> get name
        "wmd"
        127.0.0.1:6379> keys *
        1) "name"

7.如何查看启动的redis用的是哪个redis.conf文件呢
    [root@wmd01 config]# docker ps(查看运行的id号)
        CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
        e3d8c6065884        redis               "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes        0.0.0.0:6379->6379/tcp   redis
    [root@wmd01 config]# docker exec -it e3d8c6065884 /bin/bash(进入交互)
    root@e3d8c6065884:/data# redis-cli info |grep config(执行该命令)
        configured_hz:10
        config_file:/etc/redis/redis.conf(返回的是使用的配置文件在容器中的路径)

8.如何用命令获取配置文件中的值(检查配置文件是否生效)(config get key)
    1.更改为配置需要重启下reids:docker restart 对应的id号
        127.0.0.1:6379> config get save
            1) "save"
            2) "60 5"
        127.0.0.1:6379> config get bind
            1) "bind"
            2) "127.0.0.1"
        127.0.0.1:6379> config get dir
            1) "dir"
            2) "/data/rdb"
    2.当然也可以使用命令设置redis的配项(在redis运行期间有效)
        127.0.0.1:6379> config set dir "/data/rdb"
            OK
        127.0.0.1:6379> config get dir
            1) "dir"
            2) "/data/rdb"

redis的性能测试

1.还是以docker启动的redis为例
命令如下:进入交互后:创建100个并发客户端,总共发送100000个请求
    root@cd8a28bf1a1c:/# redis-benchmark -h localhost -p 6379 -c 100 -n 100000
    
返回如下
序号
选项
描述
默认值
1
-h
指定服务器主机名
127.0.0.1
2
-p
指定服务器端口
6379
3
-s
指定服务器 socket
 
4
-c
指定并发连接数
50
5
-n
指定请求数
10000
6
-d
以字节的形式指定 SET/GET 值的数据大小
2
7
-k
1=keep alive 0=reconnect
1
8
-r
SET/GET/INCR 使用随机 key, SADD 使用随机值
 
9
-P
通过管道传输 <numreq> 请求
1
10
-q
强制退出 redis。仅显示 query/sec 值
 
11
--csv
以 CSV 格式输出
 
12
-l
生成循环,永久执行测试
 
13
-t
仅运行以逗号分隔的测试命令列表。
 
14
-I
Idle 模式。仅打开 N 个 idle 连接并等待。
 

 

posted @ 2022-05-25 21:23  努力的达子  阅读(168)  评论(0编辑  收藏  举报