Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트 쿠키에 대용량 데이터를 저장하는 방법

쿠키(Cookie)는 일반적으로 약 4KB 정도의 작은 용량 제한이 있어 대용량 데이터를 직접 저장하기에는 적합하지 않습니다. 하지만 아래와 같은 방법들을 활용하면 이러한 제한을 효과적으로 우회할 수 있습니다.

1. 세션 ID를 활용하는 방법

"세션 ID(session id)"를 생성하고, 실제 설정값과 데이터는 데이터베이스에 저장합니다. 그런 다음 세션 ID만 쿠키에 담아두면 됩니다. 서버는 쿠키에 포함된 세션 ID를 기반으로 데이터베이스에서 해당 사용자의 정보를 조회할 수 있습니다.

2. 선택된 항목의 인덱스만 저장

전체 데이터를 저장하는 대신, 선택된 항목의 인덱스만 저장하는 방법도 있습니다. 예를 들어 목록에서 처음 20개 항목이 선택되었다면 다음과 같이 간결하게 표현할 수 있습니다.

P[0,19]

3. 쿠키 데이터 전용 테이블 생성

데이터베이스에 쿠키 데이터를 관리하기 위한 전용 테이블을 만듭니다.

[ data_id , data , data_create , date_expire ]
  • data_id: 데이터의 고유 식별자
  • data: 실제 저장할 데이터
  • data_create: 데이터 생성 날짜
  • date_expire: 데이터 만료 날짜

4. data_id를 통한 데이터 조회

data_id를 테이블에 미리 저장해 두고, 사용자가 사이트를 방문하면 쿠키에서 data_id를 읽어와 데이터베이스에서 실제 데이터를 가져오는 구조입니다.

이러한 방식을 활용하면 쿠키의 크기 제한에도 불구하고 사실상 무제한에 가까운 데이터를 안정적으로 관리할 수 있습니다. 참고로 클라이언트 측에서 대용량 데이터를 저장해야 하는 상황이라면 localStorageIndexedDB를 함께 고려해 보는 것도 좋은 대안입니다.