데이터베이스에서 데이터를 캐시하는 방법


unstable_cache

const getCachedUser = unstable_cache(
  async (id) => getUser(id),
  ['my-app-user']
);

Next팀이 14버전에서 공개한 캐싱함수

아직은 불안정할 수있으므로, 이름이 저모양이다.

추후 이름이 바뀔수도있음

사용방법

첫 번째 매개변수: action 함수 삽입 (db 통신, 데이터를 반환하는 함수)

두번째 매개변수: 캐시키 배열 (프로젝트 내부에서 하나의 action에대해 unique해야함.

다른 action함수에 같은값을 사용하면 안됨)

이렇게 세팅한 unstable_cache를 기존의 action대신 호출해주면 됨.

unstable_cache실행시 일어나는일

첫 호출에서는 그냥 이전 코드와 똑같이 action함수가 실행됨. db에 요청을 보내고 결과를 반환함.

하지만 데이터가 메모리에 캐싱됨

이후에 다시 unstable_cache 함수가 호출되면,db와의 통신을 하지않음.

첫번째 호출에서 캐시된 데이터를 반환함.

그래서 강의에서는 prisma studio로 db에 저장된 Product이름을 바꿔주었으나,