Closed d86e closed 1 year ago
I can't reproduce your problem, please provide detailed reproduction steps, or check your environment.
➜ ~ docker run --rm -d redis:7.0.2-alpine
Unable to find image 'redis:7.0.2-alpine' locally
7.0.2-alpine: Pulling from library/redis
2408cc74d12b: Pull complete
e90389148883: Pull complete
c6c08b6ea4d5: Pull complete
a1a4b4673a23: Pull complete
e14aa32bdd63: Pull complete
abe61b7e68d2: Pull complete
Digest: sha256:5916c280afae05baf0dc9a0cc82fa8e51477bdbfc72f60a5c14fd2b7735bcf07
Status: Downloaded newer image for redis:7.0.2-alpine
90a0d0b023cdd473db9f8c5cffd15142cbf2b9eedcd5cf0dbbb30fa2b42b8671
➜ ~ docker exec -it $(docker ps -ql) redis-cli ping
PONG
➜ ~ date
2022年 07月 17日 星期日 14:17:15 CST
➜ ~ docker exec -it $(docker ps -ql) redis-cli set foo bar
OK
➜ ~ docker exec -it $(docker ps -ql) redis-cli get foo
"bar"
➜ ~ sleep 200
➜ ~ docker exec -it $(docker ps -ql) redis-cli get foo
"bar"
In addition, please use English to communicate in the issue of this project.
一、新建docker-compose.yml文件,内容如下: version: '3.1'
services: redis: container_name: "redis" image: redis:latest restart: always ports:
6379:6379 command: --slave-read-only no environment: TZ: Asia/Shanghai
hyperf: container_name: "hyperf" image: hyperf/hyperf:7.4-alpine-v3.14-swoole restart: always entrypoint: /bin/bash privileged: true tty: true links:
二、执行docker-compose up -d命令启动容器
三、进入hyperf容器并安装redis以便使用redis-cli $ docker exec -it a8fc8c2799d7 sh / # date "+%Y-%m-%d %H:%M:%S" 2022-07-17 10:18:51 / # apk add redis fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz (1/1) Installing redis (6.2.7-r0) Executing redis-6.2.7-r0.pre-install Executing redis-6.2.7-r0.post-install Executing busybox-1.33.1-r7.trigger OK: 65 MiB in 102 packages
四、在hyperf容器内使用redis-cli -h redis连接 / # redis-cli -h redis redis:6379> redis:6379> set aaa 12342 ex 9999999999 OK redis:6379> ttl aaa (integer) 9999999995 redis:6379> ttl aaa (integer) 9999999994 redis:6379> ttl aaa (integer) 9999999992 redis:6379> ttl aaa (integer) -2 redis:6379> ttl aaa (integer) -2 redis:6379> ttl aaa (integer) -2 redis:6379> exit
不断的使用ttl命令查看key的过期时间,大概几秒后key已经不存在并且ttl命令返回-2,以上是全部过程。
Your issue is about using Redis installed from apk repos in the hyperf/hyperf:7.4-alpine-v3.14-swoole
container which isn't related to our redis
image
You could also try asking over at the Docker Community Forums, Docker Community Slack, or Stack Overflow. Since these repos aren't really a user-help forum
redis:7.0.2-alpine 有问题,会导致刚写入的key消失, 就算设置了足够长的时间,也会在40ms到6s之间消失, 暂时找不到任何原因,不是内存不足,不是超时,服务运行正常并未重启。 切换到redis:latest后一切正常。