최근 Netlify는 Deno 런타임의 엣지 위치에서 전 세계적으로 낮은 지연 시간으로 코드를 실행할 수 있는 엣지 기능을 발표했습니다. 이 게시물에서는 Netlify Edgefunctions를 실행하고 Upstash Redis를 데이터 저장소로 액세스하는 간단한 앱을 빌드합니다. Upstash Redis는 다음과 같은 이유로 Netlify Edge Functions와 완벽하게 일치합니다.
- Upstash Redis에는 Redis 복제본이 전 세계에 분산되어 있는 Global 데이터베이스 유형이 있습니다. 따라서 에지 기능은 짧은 지연 시간으로 가장 가까운 지역에 액세스합니다.
- Upstash Redis에는 서버리스 런타임에서 흔히 발생하는 연결 문제가 없는 REST API 및 SDK가 내장되어 있습니다.
- Upstash Redis에는 Deno 런타임으로 빌드 및 테스트된 JS SDK가 있습니다.
프로젝트 설정
아래 단계를 건너뛰려면 이 폴더를 확인하세요.
빈 노드 프로젝트 생성(npm init
) 및 hello.js
생성 netlify>edge-functions
아래 아래와 같이:
import { Redis } from "https://deno.land/x/[email protected]/mod.ts";
export default async () => {
const redis = Redis.fromEnv();
const counter = await redis.incr("edge_counter");
return new Response(counter);
};
프로젝트 폴더에 netlify.toml 파일 생성
netlify.toml[[edge_functions]]
path = "/test"
function = "hello"
.env
생성 프로젝트 폴더에 있는 파일
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
이제 Upstash 콘솔에서 Redis 데이터베이스를 생성합니다. Edge 기능의 대기 시간을 최소화하려면 전역 데이터베이스를 선택합니다. Upstash 대시보드에서 REST_URL 및 REST_TOKEN을 복사하여 .env
에 붙여넣습니다. .
테스트 및 배포
다음을 통해 로컬에서 애플리케이션을 실행할 수 있습니다.netlify dev
https://localhost:8888/test
확인
또한 Netlify 대시보드를 사용하여 앱을 배포할 수 있습니다. Netlify에서 Upstash URL과 Token을 환경 변수로 설정해야 합니다.
닫는 말
이 기사에서는 Netlify EdgeFunctions에서 Upstash Redis를 사용하는 방법을 보여주었습니다.
문제나 의견이 있는 경우 GitHub, Discord 및 Twitter를 통해 언제든지 문의하세요.