4.使用docker安裝redis
阿新 • • 發佈:2022-05-25
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 連線並等待。 |