Redis学习
踏歌行 2024-09-07
工具
阅读量:
Redis是一个开源(BSD许可),内存存储的数据结构服务器。做一些高频的数据处理,再持久化到Mysql等数据库中。 核心: 速度比存储空间等更重要。
# Redis基础
# 基础
Redis官网文档 (opens new window) NPM Redis (opens new window) Jedis nodejs (opens new window)
# NodeJS与Redis连接
官方教程 (opens new window) Redis OM 教程 (opens new window) 教程讲解 (opens new window)
- 运行Redis server,在CMD中执行
docker run -p 6379:6379 redis/redis-stack:latest
# Redis键名命名规范
- 官网文档 (opens new window)
- key名称的层次分隔符:单个冒号:
- 属性连接:可以使用.或-连接,如:user:id12345:contact.mail或user.id12345.contact-mail表示用户表中ID为id12345的记录的contact属性中的mail属性值
# docker中使用
- 简单版启动:``docker run -d -p 6379:6379 -p 8001:8001 --name=redis_1 redis/redis-stack:latest`
- 各种设置的启动:
docker run -d -p 6379:6379 --net custom_network --ip XXX.XX.0.4 --restart=always --name=redis_1 -e REDIS_ARGS="--requirepass xxx密码xxx" redis/redis-stack:latest
- 进入容器:
docker exec -it redis_1 /bin/bash
- 查看版本
redis-cli INFO server | grep redis_version
- 输入密码
[~]# docker exec -it redis_1 /bin/bash
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> AUTH xxx密码xxx
OK
1
2
3
4
5
2
3
4
5
# docker中持久化
docker run -d -p 6379:6379 -p 8001:8001 --name=redis_1 --restart=always -e REDIS_ARGS="--save 60 1000 --appendonly yes" -v /data/redis:/data redis/redis-stack:latest
通过挂载卷,将rdb保存到主机:
-v /data/redis:/data
-e REDIS_ARGS="--save 60 1000 --appendonly yes
- 第一个参数60表示时间间隔,单位是秒。这意味着Redis会每隔60秒检查一次是否需要进行持久化操作。
- 第二个参数1000表示写操作次数。这意味着如果在60秒的时间间隔内,Redis接收到了1000次写操作(例如SET、INCR等),那么Redis会执行一次持久化操作。
操作redis后,通过以下指令发现rdb文件。
C:\data>docker exec -it redis_1 /bin/bash
root@809f54e96b60:/# cd ./data/
root@809f54e96b60:/data# ls
dump.rdb
1
2
3
4
2
3
4
# redis insght 可视化工具
8001端口是redis insght 可视化工具。docker启动时需要配置-p 8001:8001
- 本地开发: redis/redis-stack,
- 服务器上部署:redis/redis-stack-server
# 工具
# Redis Insight 可视化工具
- 下载
docker run -d --name redisinsight -p 5540:5540 redis/redisinsight:latest
- 登录后下载windows版本 https://cloud.redis.io/