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

เริ่มต้นใช้งานฟังก์ชัน Netlify Edge และ Redis แบบไร้เซิร์ฟเวอร์

เมื่อเร็วๆ นี้ Netlify ประกาศ Edge Functions ซึ่งคุณสามารถเรียกใช้โค้ดของคุณที่ตำแหน่ง Edge บนรันไทม์ Deno ด้วยความหน่วงต่ำทั่วโลก ในโพสต์นี้ เราจะสร้างแอปอย่างง่ายที่เรียกใช้ฟังก์ชัน Netlify Edge และเข้าถึง Upstash Redis เป็นที่เก็บข้อมูล Upstash Redis เป็นคู่ที่สมบูรณ์แบบสำหรับฟังก์ชัน Netlify Edge เนื่องจาก:

  • Upstash Redis มีประเภทฐานข้อมูลทั่วโลกซึ่งมีการแจกจ่ายแบบจำลอง Redis ไปทั่วโลก ดังนั้นฟังก์ชัน Edge ของคุณจะเข้าถึงพื้นที่ที่ใกล้ที่สุดโดยมีเวลาแฝงต่ำ
  • Upstash Redis มี REST API และ SDK ในตัวซึ่งปราศจากปัญหาการเชื่อมต่อใดๆ ที่พบได้ทั่วไปในรันไทม์แบบไร้เซิร์ฟเวอร์
  • Upstash Redis มี JS SDK ซึ่งสร้างและทดสอบด้วยรันไทม์ของ Deno

การตั้งค่าโครงการ

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

เริ่มต้นใช้งานฟังก์ชัน Netlify Edge และ Redis แบบไร้เซิร์ฟเวอร์

สร้างโปรเจ็กต์โหนดว่าง (npm init ) และสร้าง hello.js ภายใต้ netlify>edge-functions ดังต่อไปนี้:

hello.js
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 ไฟล์ในโฟลเดอร์โครงการของคุณ

.env
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=

ตอนนี้ สร้างฐานข้อมูล Redis จาก Upstash Console เลือกฐานข้อมูลส่วนกลางเพื่อลดเวลาแฝงจากฟังก์ชันขอบของคุณ คัดลอก REST_URL และ REST_TOKEN จากแดชบอร์ด Upstash และวางลงใน .env .

เริ่มต้นใช้งานฟังก์ชัน Netlify Edge และ Redis แบบไร้เซิร์ฟเวอร์

ทดสอบและปรับใช้

คุณสามารถเรียกใช้แอปพลิเคชันในเครื่องผ่าน:netlify dev แล้วตรวจสอบ https://localhost:8888/test

นอกจากนี้ คุณสามารถปรับใช้แอปของคุณโดยใช้แดชบอร์ด Netlify คุณต้องตั้งค่า Upstash URL และ Token เป็นตัวแปรสภาพแวดล้อมใน Netlify

เริ่มต้นใช้งานฟังก์ชัน Netlify Edge และ Redis แบบไร้เซิร์ฟเวอร์

ปิดคำ

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

อย่าลังเลที่จะติดต่อเรา GitHub, Discordand Twitter สำหรับปัญหาหรือความคิดเห็นใด ๆ