使用 Redis 很简单,一共分为三步:
1. 安装 Redis
macOS 安装 redis 很简单,按照官网安装说明,使用 Homebrew 安装即可:
bash
brew install redis
Windows 安装略微复杂一点,因为我手边没有 Windows 电脑,就不提供安装方法了,教程很多。
2. 启动 Redis
运行以下命令,如果出现下图界面即表示运行成功:
bash
redis-server

3. 项目引入 Redis
在项目里使用 redis 的时候,我们借助 ioredis 这个库,安装 ioredis:
bash
npm install ioredis
在根目录下新建一个 lib
文件夹,在 lib
下新建一个名为 redis.js
的文件,代码如下:
javascript
import Redis from "ioredis";
const redis = new Redis();
const initialData = {
1702459181837:
'{"title":"sunt aut","content":"quia et suscipit suscipit recusandae","updateTime":"2023-12-13T09:19:48.837Z"}',
1702459182837:
'{"title":"qui est","content":"est rerum tempore vitae sequi sint","updateTime":"2023-12-13T09:19:48.837Z"}',
1702459188837:
'{"title":"ea molestias","content":"et iusto sed quo iure","updateTime":"2023-12-13T09:19:48.837Z"}',
};
export async function getAllNotes() {
const data = await redis.hgetall("notes");
if (Object.keys(data).length == 0) {
await redis.hset("notes", initialData);
}
return await redis.hgetall("notes");
}
export async function addNote(data) {
const uuid = Date.now().toString();
await redis.hset("notes", [uuid], data);
return uuid;
}
export async function updateNote(uuid, data) {
await redis.hset("notes", [uuid], data);
}
export async function getNote(uuid) {
return JSON.parse(await redis.hget("notes", uuid));
}
export async function delNote(uuid) {
return redis.hdel("notes", uuid);
}
export default redis;
这块代码并不复杂,我们导出了 5 个函数,表示 5 个用于前后端交互的接口,分别是:
- 获取所有笔记的 getAllNotes,这里我们做了一个特殊处理,如果为空,就插入 3 条事先定义的笔记数据
- 添加笔记的 addNote
- 更新笔记的 updateNote
- 获取笔记的 updateNote
- 删除笔记的 delNote
其中我们使用了 ioredis 的 hash 结构(ioredis 提供了相关写法示例和 API 说明)。也就是说,我们在 redis 服务器中存储的数据大概长这样:
javascript
{
"1702459181837": '{"title":"sunt aut","content":"quia et suscipit suscipit recusandae","updateTime":"2023-12-13T09:19:48.837Z"}',
"1702459182837": '{"title":"qui est","content":"est rerum tempore vitae sequi sint","updateTime":"2023-12-13T09:19:48.837Z"}',
"1702459188837": '{"title":"ea molestias","content":"et iusto sed quo iure","updateTime":"2023-12-13T09:19:48.837Z"}'
}
使用 macOS 的同学可以再下载一个 Medis,用于查看 Redis 中的数据(当然此时 Redis 还没有写入这些数据):

其中,key 值用的是创建笔记时的时间戳,value 值是具体的笔记数据,分为 3 个字段,分别是 title
、content
、updateTime
。