在这里可以查看 redis 镜像当前版本
https://hub.docker.com/_/redis/tags
两种方式创建 redis-server 容器
1 using docker-compose
创建 redis 服务
创建 docker-compose.yml 文件, 该文件所在的文件夹名称会影响 OrbStack 里面的显示,建议与下面的container_name 所取名字一样。
version: "3"
services:
redis:
image: redis:7 # 此处可选 redis:7 或者 redis:latest
container_name: docker_redis_6379
ports:
- "6379:6379"
volumes:
- ~/data/redis_6379:/data
command: >
redis-server
--appendonly yes # 如果不需要持久化可以注释掉或者删除掉这一行
--requirepass "123456" # 如果不需要密码可以注释掉或者删除掉这一行
--maxmemory 100mb # 这个对你来说可能其实没有什么用
--maxmemory-policy allkeys-lru # 这个对你来说可能其实没有什么用
restart: always
创建启动容器
docker-compose up -d
以后可以使用
docker stop docker_redis_6379 # 停止容器
docker start docker_redis_6379 # 启动容器
2 命令方式创建容器
docker启动时设置redis的密码
docker run --name redis_docker_6379 -p 6379:6379 -id redis --requirepass 'admin'
2.1 若启动了,想修改redis密码 则:
docker ps -a
进入redis容器,并运行redis-cli
docker exec -it redis /bin/bash
redis-cli
若之前redis设置了密码 没有则忽略此步骤
需先验证权限
否则出现 (error) NOAUTH Authentication required.
auth 之前的密码
auth admin # 这里密码是上面设置的 admin
查看当前密码
config get requirepass
设置新密码
config set requirepass 123456
抄写了 如下大神的文章,方便自己回头复习 juejin.cn/post/695120… juejin.cn/post/706254…
redis 5 不需要证书, redis 7 需要证书 关于证书的使用参考 www.pablogonzalez.io/redis-7-wit…
关于 docker-compose 看了 www.youtube.com/watch?v=NMc… 这里
nodejs 使用 redis 或者 ioredis 连接 redis 的方法 代码如下
const redis = require("redis");
// create client
const redisClient = redis.createClient({
url: "redis://:admin@127.0.0.1:6379",
});
redisClient.on("error", (err) => {
// handle error
console.log("Error " + err);
});
const bootstrap = async () => {
await redisClient.connect();
redisClient.set("myname1", "zs1", redis.print);
};
bootstrap();
redis ACL 相关的内容我没有深入研究不会。