linux使用docker安装Redis


linux使用docker安装Redis

一、安装docker

1
2
3
4
5
6
7
curl -fsSL https://get.docker.com | bash -s docker # 官方镜像
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun # 阿里镜像
curl -fsSL https://get.docker.com | bash -s docker --mirror AzureChinaCloud # Azurce中国镜像
启动:systemctl start docker
停止:systemctl stop docker
设置开机启动:systemctl enable docker
其他请参考:https://meaqua.fun/2024/06/29/docker_install/

二、Docker Compose 部署Redis

1
2
3
4
mkdir redis
cd redis
mkdir ./data
vim ./docker-compose.yml

填入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
services:
redis:
image: redis:latest
container_name: redis
network_mode: bridge
environment:
- TZ=Asia/Shanghai # 设置容器的时区为亚洲/上海
ports:
- "6379:6379"
volumes:
- ./data:/data
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
restart: unless-stopped

最后输入:wq保存即可

启动

执行docker compose up -d等待容器启动即可

使用

容器内命令行使用

1
2
3
4
5
6
7
8
进入docker内部:docker exec -it redis bash
帮助:redis-cli --help
连接:redis-cli --raw -h 127.0.0.1 -p 6379
查看所有 key:keys *
获取对应 key 的值:get key
删除单个 key 或多个:del key key2
退出命令行:exit
退出docker:exit

nodejs

安装依赖npm i ioredis -S

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// redis.js
const Redis = require("ioredis");
const redis = new Redis({
port: 6379, // Redis port
host: "127.0.0.1", // Redis host
family: 4, // 4 (IPv4) or 6 (IPv6)
// password: "123456",
db: 1
});
async function getKeys(){
const keys = await redis.keys(`somekey:*`)
return keys
}
async function get(){
const value = await redis.get(`somekey`)
return value
}
async function set(){
await redis.set(`somekey`, JSON.stringify({}), "EX", 24 * 60 * 60)
}
async function del(){
redis.del(`somekey`);
}

参考资料