docker之redis使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #拉取redis > docker pull redis:latest latest: Pulling from library /redis 8d691f585fa8: Pull complete 8ccd02d17190: Pull complete 4719eb1815f2: Pull complete 200531706a7d: Pull complete eed7c26916cf: Pull complete e1285fcc6a46: Pull complete Digest: sha256:fe80393a67c7058590ca6b6903f64e35b50fa411b0496f604a85c526fb5bd2d2 Status: Downloaded newer image for redis:latest docker.io /library/redis :latest #查看images > docker images REPOSITORY TAG IMAGE ID CREATED SIZE redis latest de25a81a5a0b 6 days ago 98.2MB <br> #运行<br>docker run -ti redis:latest /bin/bash #启动redis:后台启动redis 并将redis6379端口映射至本地6380端口 容器名设为some-redis1 > docker run --name some-redis1 -p 6380:6379 -d redis:latest --requirepass "123456" a996cb04b0024be3fd4f6d08e3b567ad9389d9c59b1185f601400ab48e17cefd #查看容器 > docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a996cb04b002 redis:latest "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:6380->6379 /tcp some-redis1 #进入容器&&连接redis客户端 > docker exec -ti a996cb04b002 redis-cli 127.0.0.1:6379> #运行redis命令 127.0.0.1:6379> auth 123456 OK 127.0.0.1:6379> set name panpan OK 127.0.0.1:6379> get name "panpan" 127.0.0.1:6379> quit |
1 2 3 4 5 6 7 8 9 10 | # redis 集群中查询 #1.进入集群 redis-cli -h $host -p 6379 -c #2.模糊查询key host:6379> KEYS "*GetPartAccount_*" #3.删除key DEL "Account" |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #进入容器 > docker exec -ti a996cb04b002 /bin/bash #查看环境变量 root@a996cb04b002: /data # env HOSTNAME=a996cb04b002 REDIS_DOWNLOAD_SHA=6624841267e142c5d5d5be292d705f8fb6070677687c5aad1645421a936d22b3 PWD= /data HOME= /root REDIS_VERSION=5.0.6 GOSU_VERSION=1.11 TERM=xterm REDIS_DOWNLOAD_URL=http: //download .redis.io /releases/redis-5 .0.6. tar .gz SHLVL=1 PATH= /usr/local/sbin : /usr/local/bin : /usr/sbin : /usr/bin : /sbin : /bin _= /usr/bin/env #查看目录 root@a996cb04b002: /data # ls #查看容器内运行的进程 root@a996cb04b002: /data # ps -ef bash : ps : command not found #进入redis客户端 root@a996cb04b002: /data # redis-cli #退出redis客户端 127.0.0.1:6379> quit #远程连接redis root@a996cb04b002: /data # redis-cli -h 192.168.*.* -p 6379 #操作redis-cli时需认证 auth yourpassword |
应用示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #模糊查询 root@a996cb04b002: /data # redis-cli -h 192.168.*.* -p 6379 --scan --pattern '*GetPartAccount_*' DVMProxyApi-devGetPartAccount_facebook DVMProxyApi-alphaGetPartAccount_facebook DVMProxyApi-testGetPartAccount_facebook #查询value数据 root@a996cb04b002: /data # redis-cli -h 192.168.*.* -p 6379 :6379> type DVMProxyApi-devGetPartAccount_facebook hash :6379> Hkeys DVMProxyApi-devGetPartAccount_facebook 1) "absexp" 2) "data" 3) "sldexp" :6379> HGET DVMProxyApi-devGetPartAccount_facebook sldexp "-1" :6379> HGET DVMProxyApi-devGetPartAccount_facebook data "{\"data\":[****** |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #.net core:获取滑动过期时间 :6379> HGET DVMProxyApi-devGetPartAccount_facebook sldexp "864000000000" #查询redis过期时间:以秒为单位返回 :6379> ttl DVMProxyApi-testGetPartAccount_facebook (integer) 79765 #powershell 时间段转为ttl > New-TimeSpan -Hours 24 #New-TimeSpan -seconds 76765 Days : 1 Hours : 0 Minutes : 0 Seconds : 0 Milliseconds : 0 Ticks : 864000000000 TotalDays : 1 TotalHours : 24 TotalMinutes : 1440 TotalSeconds : 86400 TotalMilliseconds : 86400000 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #删除fields :6379> hdel DVMProxyApi-devGetPartAccount_facebook data absexp sldexp (integer) 3 #查看过期时间 :6379> ttl DVMProxyApi-testGetPartAccount_facebook (integer) 78700 #获取在哈希表中指定 key 的所有字段和值 :6379> hgetall DVMProxyApi-devGetPartAccount_facebook (empty list or set ) #删除key :6379> del DVMProxyApi-devGetPartAccount_facebook (integer) 0 #检查给定 key 是否存在。 :6379> exists DVMProxyApi-devGetPartAccount_facebook (integer) 0 :6379> quit root@a996cb04b002: /data # redis-cli -h 192.168.*.* -p 6379 --scan --pattern '*GetPartAccount_*' DVMProxyApi-alphaGetPartAccount_facebook DVMProxyApi-testGetPartAccount_facebook root@a996cb04b002: /data # |
redis-cli, the Redis command line interface
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· 面试官:你是如何进行SQL调优的?
2017-10-23 Kylin介绍2
2017-10-23 Jenkins简介
2016-10-23 9.安全性、可靠性、系统性能评测
2016-10-23 2015下半年软件设计师考点,难点3