如果你的应用程序有十分耗性能的数据操作,例如复杂的数据库查询或 API 请求,那么使用缓存来提高性能就非常重要。
import { getUser } from './data';
import { unstable_cache } from 'next/cache';
const getCachedUser = unstable_cache(
async (id) => getUser(id),
['my-app-user']
);
export default async function Component({ userID }) {
const user = await getCachedUser(userID);
// ...
}
unstable_cache
返回一个函数来处理缓存数据,如果数据不在缓存中,则会调用传入的数据请求函数来获取数据,并将获取到的数据缓存和返回。
注意:不要缓存需要身份鉴权的数据,一个好的办法是仅缓存公共数据。
unstable_cache
是一个不稳定的 API,在未来的版本中可能会发生变化,具体的使用方法可以参考官方文档。
Next.js 版本:v14.0.0