Gần đây, Netlify đã công bố Edge Functions nơi bạn có thể chạy mã tại các vị trí edge trên runtime Deno với độ trễ thấp toàn cầu. Trong bài viết này, chúng ta sẽ xây dựng một ứng dụng đơn giản chạy Netlify Edge functions và truy cập Upstash Redis làm kho dữ liệu. Upstash Redis là sự kết hợp hoàn hảo cho Netlify Edge Functions vì:
- Upstash Redis có loại database Global nơi các replica Redis được phân phối khắp thế giới. Vì vậy edge function của bạn sẽ truy cập khu vực gần nhất với độ trễ thấp.
- Upstash Redis có API REST tích hợp sẵn và SDK miễn phí các vấn đề kết nối phổ biến trong runtime serverless.
- Upstash Redis có JS SDK được xây dựng và kiểm thử với runtime Deno
Thiết lập dự án
Bạn có thể xem thư mục này nếu muốn bỏ qua các bước dưới.

Tạo dự án Node trống (npm init) và tạo hello.js dưới netlify>edge-functions như dưới:
// hello.js
import { Redis } from "https://deno.land/x/upstash_redis@v1.3.2/mod.ts";
export default async () => {
const redis = Redis.fromEnv();
const counter = await redis.incr("edge_counter");
return new Response(counter);
};Tạo file netlify.toml trong thư mục dự án
# netlify.toml
[[edge_functions]]
path = "/test"
function = "hello"Tạo file .env trong thư mục dự án
# .env
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=Bây giờ, tạo cơ sở dữ liệu Redis từ Upstash Console. Chọn database Global để tối thiểu hóa độ trễ từ edge functions. Sao chép REST_URL và REST_TOKEN từ dashboard Upstash và dán vào .env.

Kiểm tra và triển khai
Bạn có thể chạy ứng dụng cục bộ qua: netlify dev và kiểm tra https://localhost:8888/test
Cũng có thể triển khai ứng dụng dùng Netlify dashboard. Bạn cần đặt Upstash URL và Token làm biến môi trường trong Netlify.

Kết luận
Trong bài viết này, chúng tôi đã trình diễn cách sử dụng Upstash Redis trong Netlify Edge Functions.
Đừng ngần ngại liên hệ chúng tôi trên GitHub, Discord và Twitter cho bất kỳ vấn đề hoặc ý kiến nào.