Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

สร้าง Low-Latency Apps ด้วย Netlify Edge Functions และ Upstash Serverless Redis

เมื่อเร็วๆ นี้ Netlify ประกาศ Edge Functions ที่รัน Code ที่ Edge Locations บน Deno Runtime ด้วย Global Low Latency ในโพสต์นี้ เราจะสร้าง Simple App ที่รัน Netlify Edge Functions และเข้าถึง Upstash Redis เป็น Data Store Upstash Redis เหมาะกับ Netlify Edge Functions เพราะ:

  • Upstash Redis มี Global Database Type ที่ Replicas กระจายทั่วโลก Edge Function จะเข้าถึง Region ใกล้ที่สุด Low Latency
  • Upstash Redis มี Built-in REST API และ SDK ที่ไม่มี Connection Issues ปกติใน Serverless Runtimes
  • Upstash Redis มี JS SDK ที่สร้างและทดสอบกับ Deno Runtime

Project Setup

คุณสามารถดู โฟลเดอร์นี้ หากต้องการข้ามขั้นตอนด้านล่าง

สร้าง Low-Latency Apps ด้วย Netlify Edge Functions และ Upstash Serverless Redis

สร้าง Empty Node Project (npm init) และสร้าง hello.js ภายใต้ netlify>edge-functions ดังนี้:

// 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);
};

สร้าง netlify.toml ในโฟลเดอร์โปรเจกต์

[[edge_functions]]
path = "/test"
function = "hello"

สร้างไฟล์ .env ในโฟลเดอร์โปรเจกต์

UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=

ตอนนี้ สร้าง Redis Database จาก Upstash Console เลือก Global Database เพื่อลด Latency จาก Edge Functions คัดลอก REST_URL และ REST_TOKEN จาก Dashboard วางใน .env

สร้าง Low-Latency Apps ด้วย Netlify Edge Functions และ Upstash Serverless Redis

Test และ Deploy

รัน Local ผ่าน: netlify dev เช็ค https://localhost:8888/test

Deploy ผ่าน Netlify Dashboard ตั้ง Upstash URL และ Token เป็น Environment Variable ใน Netlify

สร้าง Low-Latency Apps ด้วย Netlify Edge Functions และ Upstash Serverless Redis

ข้อสรุป

ในบทความนี้ เราแสดงวิธีใช้ Upstash Redis ใน Netlify Edge Functions

ติดต่อเราได้ที่ GitHub, Discord และ Twitter สำหรับ Issues หรือ Comments