서버 컴포넌트에서는 상태를 저장하거나 조회하기 어렵기 때문에 redisClient를 제공함.
1. Server Component
import { restApi } from '@/lib/common/plugins/restApi';
import { getRedisValue, setRedisValue } from '@/lib/common/plugins/redisClient';
const SearchPage = async () => {
const test = {
test1: 'test1',
test2: '999999',
test3: 'weqweqweqwe',
};
// 마지막 500의 경우 500초로 아무것도 안넣을 경우 무한으로 저장됨
await setRedisValue('test998877', test, 500);
const value = await getRedisValue('test998877');
console.log(value);
return (
<>
test1111
</>
);
};
export default SearchPage;
2. Client Component
'use client';
import { restApi } from '@/lib/common/plugins/restApi';
import { useEffect, useState } from 'react';
const TestPage = () => {
function setRedis() {
const test = {
test1: 'test12222',
test2: '99999922222222',
test3: 'weqweqweqwe222222',
};
await setRedisValue('test998877', test, 500);
}
function getRedis() {
const value = await getRedisValue('test998877');
console.log(value);
}
return (
<>
test2222
<button onClick={() => setRedis()}>레디스 저장</button>
<button onClick={() => getRedis()}>레디스 조회</button>
</>
);
};
export default TestPage;
다음과 같이 레디스 서버에 데이터가 저장된것을 확인 가능합니다.
'Next.js 개발 가이드 > 05. State management' 카테고리의 다른 글
2. x2beeStore 사용하기 (0) | 2024.01.26 |
---|---|
1. Nextjs에서 zustand로 상태관리하기 (0) | 2023.12.14 |