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

เริ่มต้นใช้งาน Nuxt 3 และ Serverless Redis

แนะนำตัว

หากคุณเคยต้องสร้างแอปที่ติดตามการใช้งานแอปพลิเคชัน จำกัดการใช้ทรัพยากร หรือดึงข้อมูลจากแคชเพื่อเพิ่มประสิทธิภาพแอป คุณจะรู้ว่า Redis คือคำตอบสำหรับข้อกำหนดเหล่านี้! Redis เป็นฐานข้อมูลคีย์-ค่าในหน่วยความจำ เป็นโอเพ่นซอร์สและย่อมาจาก Remote Dictionary Server

ในบทความนี้ เราจะพูดถึง Upstash ฐานข้อมูล Redis และเฟรมเวิร์ก Vue SSR รุ่นเบต้าล่าสุด Nuxt 3 นี่เป็นบทความที่เป็นมิตรสำหรับผู้เริ่มต้น ซึ่งจะสำรวจฐานข้อมูล Redis ซึ่งเราจะสร้างแอปพื้นฐานที่ติดตามการเข้าชมหน้าเว็บของ แอป Nuxt

ทรัพยากร

  • Github Repo:https://github.com/Krutie/upstash-nuxt-demo
  • สาธิต
    • ผู้ปฏิบัติงาน Cloudflare:https://upstash-demo.krutie-patel.workers.dev/contact
    • Netlify:https://thirsty-visvesvaraya-a09ab9.netlify.app/

Upstash คืออะไร

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

Redis คืออะไร

Redis มีกรณีการใช้งานยอดนิยมเช่น:

  • แคชข้อมูลและเซสชัน
  • ลีดเดอร์บอร์ด - จัดอันดับชื่อและคะแนนในเกมคอมพิวเตอร์หรือซอฟต์แวร์ใดๆ ที่สร้างขึ้นด้วยหลักการเกมมิ่ง
  • คิว - กำหนดเวลางานที่จะประมวลผลในภายหลังในพื้นหลัง
  • การวัด/การนับการใช้งาน - จำกัดการใช้ทรัพยากร ควบคุมการกระจายทรัพยากร หรือเพียงแค่การนับตามขนาดเพื่อดูและวิเคราะห์การใช้งาน เช่น ไซต์อีคอมเมิร์ซ โซเชียลมีเดีย แอปบนอุปกรณ์เคลื่อนที่ ฯลฯ
  • การกรองเนื้อหา - ตัวอย่างเช่น กรองเนื้อหากับรายการคำต้องห้าม

ในระดับพื้นฐาน ฐานข้อมูล Redis จะจัดเก็บข้อมูลในคู่คีย์-ค่า แต่ยังสามารถจัดเก็บข้อมูลในโครงสร้างข้อมูลขั้นสูง เช่น รายการ ชุด ชุดที่จัดเรียง เป็นต้น Redis ยังจัดเตรียมชุดคำสั่งเพื่อจัดการโครงสร้างข้อมูลเหล่านี้ เนื่องจากเราจะใช้หนึ่งในตัวอย่างในแอปของเรา การพิจารณาคำจำกัดความในระดับสูงจึงควรค่าแก่การพิจารณา

  • Lists - เป็นเหมือนอาร์เรย์พื้นฐานมากกว่า รายการช่วยให้คุณสามารถผลักและป๊อปไอเท็มจากปลายทั้งสองของซีเควนซ์ ดึงไอเท็มแต่ละรายการ และดำเนินการอื่นๆ ได้หลากหลาย คำสั่งรายการนำหน้าด้วยตัวอักษร L เช่น LPOP, LPUSH, LSET ฯลฯ
  • แฮช - ให้คุณจัดเก็บกลุ่มของคู่คีย์-ค่าในคีย์ Redis เดียว คำสั่งแฮชนำหน้าด้วยตัวอักษร H เช่น HSET, HGET, HDEL ฯลฯ
  • ชุด - เหมือนกับรายการ แต่ชุดจะไม่ซ้ำกันและจัดเก็บรายการในรายการที่ไม่เรียงลำดับ นั่นเป็นสาเหตุที่ชุดไม่สามารถจัดเรียงได้ แต่คุณสามารถเพิ่ม นำออก และกำหนดได้อย่างรวดเร็วว่ารายการนั้นอยู่ในชุดหรือไม่ คำสั่ง Set นำหน้าด้วยตัวอักษร S เช่น SADD, SCARD, SISMEMBER เป็นต้น
  • ชุดที่จัดเรียง - เหมือนกับชุด แต่ชุดที่จัดเรียงแล้วจะอนุญาตให้จัดเรียงตามคะแนนที่ดูเหมือนคู่คีย์-ค่ามาก นอกจากนี้เรายังสามารถจัดการและจัดเรียงคะแนนที่เป็นตัวเลขนี้ได้ คำสั่งชุดที่เรียงนำหน้าด้วยตัวอักษร Z, i,e, ZADD, ZINCRBY, ZSCORE เป็นต้น

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง Redis อื่นๆ ได้ที่ https://redis.io/commands

การตั้งค่าอัพสแตช

ทำตามคำแนะนำเพื่อตั้งค่าบัญชีและฐานข้อมูลตามเอกสาร @ https://docs.upstash.com/

ก่อนที่คุณจะข้ามไปที่การสร้างแอป Nuxt ตรวจสอบให้แน่ใจว่าบัญชี Upstash ของคุณพร้อม คุณควรจะสามารถสร้างฐานข้อมูลเดียวที่มีระดับอิสระได้

เมื่อฐานข้อมูลของคุณถูกสร้างขึ้น คุณสามารถสร้างและเข้าถึงฐานข้อมูล Redis โดยใช้ไคลเอนต์ Redis ใดก็ได้ อีกวิธีหนึ่ง คุณสามารถใช้ CLI👇 บนเบราว์เซอร์ที่มีให้ในคอนโซล Upstash เพื่อเริ่มต้นได้ทันที

เริ่มต้นใช้งาน Nuxt 3 และ Serverless Redis

CLI บนเบราว์เซอร์ที่มีให้ในคอนโซล Upstash

Redis-cli

คุณสามารถตั้งค่า redis-cli บนเทอร์มินัลเครื่องของคุณเพื่อสร้างและเข้าถึงฐานข้อมูล Redis โดยตรงจากอินเทอร์เฟซบรรทัดคำสั่งของคุณ

แพ็คเกจ Redis npm

เรายังมีแพ็คเกจ npm หลายตัวเพื่อโต้ตอบกับฐานข้อมูล Redis เราจะใช้ 1) @upstash/redis และ 2) ioredis - เพื่อเข้าถึงคำสั่ง Redis ในโครงการ Nuxt ของเรา

ในส่วนถัดไป เราจะตั้งค่าโครงการ Nuxt Nuxt เป็นเฟรมเวิร์ก SSR ที่สร้างขึ้นบน Vue Nuxt Labs เพิ่งประกาศเปิดตัว Nuxt 3 เบต้า มาตั้งค่าโปรเจ็กต์ Nuxt 3 ใหม่กันเถอะ

Nuxt 3 อยู่ในรุ่นเบต้า โปรดจำไว้ว่า ยังไม่พร้อมสำหรับการผลิต .

⚡มาพูดถึง Nuxt 3 กัน

Nuxt 3 แนะนำ CLI ใหม่ล่าสุดที่เรียกว่า nuxi เพื่อสร้างแอป Nuxt

npx nuxi init nuxt3-app

เราจะสร้าง /pages และเพิ่มเส้นทางง่ายๆ ดังนี้👇

-pages;
--index.vue;
--about.vue;
app.vue;

app.vue เป็นการแนะนำใหม่ของ Nuxt 3 ที่ทำหน้าที่เป็นองค์ประกอบหลัก app.vue จะถูกโหลดสำหรับทุกเส้นทางที่กำหนดไว้ใน /pages ไดเรกทอรี

เอ็นจิ้นเซิร์ฟเวอร์ Nitro ⚙️

Nuxt 3 ยังแนะนำเอ็นจิ้นเซิร์ฟเวอร์ใหม่ล่าสุดที่เรียกว่า Nitro เราสามารถใช้ประโยชน์จากพลังของ Nitro เพื่อสร้างปลายทาง API ของเซิร์ฟเวอร์ และ เซิร์ฟเวอร์มิดเดิลแวร์ โดยเพียงแค่สร้าง server ไดเรกทอรีที่มี api และ middleware เป็นไดเรกทอรีย่อย คุณสามารถตรวจสอบโครงสร้างไดเร็กทอรีที่เรียบง่ายนี้ได้ใน Github repo

-server;
--api;
--middleware;

ทั้ง API และมิดเดิลแวร์ควรส่งออกฟังก์ชันเริ่มต้นที่จัดการคำขอ API และส่งคืนข้อมูลสัญญา/JSON ต่างจาก Nuxt 2 เราไม่ต้องกำหนดเซิร์ฟเวอร์มิดเดิลแวร์ใน nuxt.config.js .

นี่คือรายการขั้นตอนระดับสูงที่เราต้องทำเพื่อสร้างแอปของเรา:

  • ขั้นแรก เราเชื่อมต่อกับฐานข้อมูล Redis
  • ในการบันทึกการเข้าชมหน้า เราจะสกัดกั้นทุกคำขอของหน้าที่ส่งไปยังเซิร์ฟเวอร์ เพิ่มตัวนับของหน้านั้นทีละรายการ และเก็บมูลค่าของหน้านั้นไว้ในฐานข้อมูล Redis
  • จากนั้น เราทำการเรียก API จากฝั่งไคลเอ็นต์เพื่อดึงข้อมูลจำนวนการเยี่ยมชมจากฐานข้อมูล Redis และแสดงบนหน้า Nuxt

ตามแนวคิด ไดอะแกรมด้านล่างแสดงสิ่งที่เราพยายามสร้าง👇

เริ่มต้นใช้งาน Nuxt 3 และ Serverless Redis

เรียนรู้เพิ่มเติมเกี่ยวกับ Nuxt 3 @ https://v3.nuxtjs.org/getting-started/installation

ใช้ไคลเอ็นต์ REST Redis

Upstash มีไคลเอ็นต์ Redis ที่ใช้ HTTP/REST ของตัวเอง - @upstash/redis - ที่เราสามารถเพิ่มเป็นการพึ่งพาในโครงการ Nuxt ของเราได้

yarn add @upstash/redis

ตรวจสอบความถูกต้อง Redis DB

ในการตรวจสอบสิทธิ์ฐานข้อมูล Redis เราจำเป็นต้องค้นหาตัวแปรสภาพแวดล้อมต่อไปนี้:

  • REST URL (UPSTASH_REDIS_REST_URL) และ
  • โทเค็น (UPSTASH_REDIS_REST_TOKEN)

...จากคอนโซล Upstash - ใต้ฐานข้อมูล

การกำหนดค่ารันไทม์ส่วนตัว

ตอนนี้ เพื่อแสดงตัวแปรสภาพแวดล้อมเหล่านี้บนฝั่งเซิร์ฟเวอร์ Nuxt ให้การกำหนดค่ารันไทม์ที่เรากำหนดในnuxt.config.js ไฟล์.

// nuxt.config.js
export default defineNuxtConfig({
  publicRuntimeConfig: {},

  privateRunimeConfig: {
    UPSTASH_REDIS_REST_URL: process.env.UPSTASH_REDIS_REST_URL,
    UPSTASH_REDIS_REST_TOKEN: process.env.UPSTASH_REDIS_REST_TOKEN,
  },
});

ต่อไป เราสามารถเข้าถึงตัวแปรสภาพแวดล้อมเหล่านี้ได้โดยตรงโดยการนำเข้า #config .

import { Redis } from "@upstash/redis";
import config from "#config";

const redis = new Redis({
  url: config.UPSTASH_REDIS_REST_URL,
  token: config.UPSTASH_REDIS_REST_TOKEN,
});

อีกทางเลือกหนึ่งคือ zero-config วิธีคือการเพิ่ม UPSTASH_REDIS_REST_URL และ UPSTASH_REDIS_REST_TOKEN ลงใน .env . โดยตรง ไฟล์และสร้างอินสแตนซ์ redis const redis = Redis.fromEnv() โดยไม่จำเป็นต้องส่งตัวแปรเหล่านี้ไปที่ Redis . โปรดทราบว่าเวทย์มนตร์นี้ใช้ได้เฉพาะเมื่อใช้ @upstash/redis ไคลเอ็นต์ Redis

สกัดกั้นคำขอด้วย Nuxt server-middleware

เรามีอิสระที่จะใช้คำสั่ง Redis ที่จำเป็นต่อจากนี้ไป สำหรับตัวอย่างนี้ เราจะใช้ sorted-set เนื่องจาก sorted-sets นั้นไม่ซ้ำกัน และยังอนุญาตให้จัดเรียงและจัดการ SCORE ได้อีกด้วย

ตัวอย่างเช่น เราสามารถใช้ zincrby เพื่อเพิ่มคะแนนหน้าทุกครั้งที่มีการร้องขอไปยังหน้า

// server/middleware/pageCount.js
import { Redis } from "@upstash/redis";
import { getRedisKey } from "../utils";

const redis = Redis.fromEnv();

export default async function (req, res, next) {
  const redisKey = getRedisKey(req.url);
  await redis.zincrby("myPageCounts", 1, redisKey);
  next();
}

กำลังสร้างเนมสเปซ

Redis คือฐานข้อมูล NoSql ที่จัดเก็บข้อมูลในคู่คีย์-ค่า ไม่มีแนวคิดเกี่ยวกับคีย์ที่เพิ่มค่าอัตโนมัติหรือมีวิธีแบบไดนามิกในการสร้าง UUID ที่ไม่ซ้ำใคร นี่คือที่ที่เราแนะนำ getRedisKey() ฟังก์ชันอรรถประโยชน์

ฟังก์ชันยูทิลิตี้นี้ประมวลผล URL คำขอและสร้างคีย์เฉพาะ - ซึ่งเราจะใช้เก็บจำนวนการเข้าชมในแต่ละหน้า วิธีนี้ทำให้เราป้องกันไม่ให้เพิ่มตัวนับกับคีย์เดิมได้

ในตัวอย่างของเรา เรารับ URL คำขอและแทนที่ทุกอินสแตนซ์ของ '/' ด้วย '.' เพื่อสร้างคีย์เว้นวรรคชื่อที่ไม่ซ้ำกัน

export const getRedisKey = (url: string) => {
  const reqURL = url?.replace("/", ".");
  const redisKey = reqURL === "." ? "page.home" : `page${reqURL}`;
  return redisKey;
};

สิ่งนี้จะช่วยเราแปลง เช่น /about ลงในคีย์เว้นวรรคซึ่งจะอ่านว่า page.about

เข้าถึง Redis DB โดยใช้ REST API Endpoints

มาสร้างปลายทาง API ที่จะดึงจำนวนปัจจุบันหรือคะแนนสำหรับหน้าที่เกี่ยวข้องกัน

ใน Nuxt 3 มีสองวิธีในการดึงข้อมูล 1)useAsyncData และ 2) useFetch . ใน app.vue เราจะใช้ useAsyncData พร้อมกับ $fetch ให้บริการโดยห้องสมุด ohmyfetch

// app.vue
<script setup>
	const router = useRoute();
  const { data: count } = await useAsyncData('Count', () => $fetch('/api/count', { params: { path: router.path}}))
</script>

อย่างที่คุณเห็น พร้อมกับการเรียก API เราได้ส่งพาธของเราเตอร์เป็นพารามิเตอร์การค้นหาเพื่อระบุเพจที่กำลังเข้าถึง👇

$fetch("/api/count", { params: { path: router.path } });

ต่างจากเซิร์ฟเวอร์มิดเดิลแวร์ เราจะต้องใช้ปลายทาง API นี้ /api/count เพื่อดึงจำนวนการเข้าชม ที่นำเราไปสู่ส่วนที่สนุก!

มาสร้างจุดสิ้นสุด API นี้ที่ server/api/count.ts . เราจะใช้ประโยชน์จาก useQuery วิธีการจัดทำโดย h3 ไลบรารีเพื่อเข้าถึงพารามิเตอร์การสืบค้นที่ส่งจากฝั่งไคลเอ็นต์

// server/api/count.ts
import { useQuery } from "h3";

export default async (req, res) => {
  let query = await useQuery(req);
  const redisKey = getRedisKey(query.path);
};

ที่นี่ 👆 เราจะใช้ getRedisKey() . เดียวกัน ยูทิลิตีเพื่อให้แน่ใจว่าคีย์นี้ตรงกับคีย์ที่มีการเว้นวรรคชื่อที่เราใช้ในมิดเดิลแวร์เพื่อเพิ่มจำนวนหน้า

ตอนนี้เราสามารถส่งรหัสนี้ไปที่ zscore ว่าเราแน่ใจว่ามีอยู่ในฐานข้อมูลเพื่อดึงคะแนน/จำนวน 👇

// server/api/count.ts
// ...
import { Redis } from "@upstash/redis";

const redis = Redis.fromEnv();

export default async () => {
  // ...
  const count = await redis.zscore("myPageCounts", redisKey);
  return { count };
};

ใช้ Redis API โดยตรงกับ ioredis

เราสามารถทำได้เช่นเดียวกันโดยใช้ ioredis ห้องสมุดด้วย

yarn add ioredis

ขณะใช้ ioredis เราจะไม่มี auth วิธีการที่มีอยู่ อย่างไรก็ตาม เรามีสตริงการเชื่อมต่อซึ่งมีอยู่ในคอนโซล Upstash ซึ่งเราสามารถใช้เพื่อเชื่อมต่อกับฐานข้อมูล Redis

เราสามารถตั้งค่า UPSTASH_REDIS_CONN เป็นตัวแปรการกำหนดค่ารันไทม์แบบเดียวกับที่เราทำก่อนหน้านี้สำหรับ rest-url และโทเค็น

// nuxt.config.js
export default defineNuxtConfig({
  publicRuntimeConfig: {},

  privateRunimeConfig: {
    UPSTASH_REDIS_CONN: process.env.UPSTASH_REDIS_CONN,
  },
});

ต่อไป ในมิดเดิลแวร์ เราจะสร้าง new Redis() เพื่อสร้างการเชื่อมต่อและเข้าถึงคำสั่ง Redis ทั้งหมดจาก client 👇

// server/middleware/pageCount.js

import config from "#config";
import Redis from "ioredis";

const client = new Redis(config.UPSTASH_REDIS_CONN);

สกัดกั้นคำขอด้วย Nuxt server-middleware

มิดเดิลแวร์ Nuxt ของเราจะยังคงเหมือนเดิม ยกเว้นวิธีที่เราเข้าถึง zincrby จะเปลี่ยนไป👇

// server/middleware/pageCount.js
// ...
export default async function (req, res, next) {
  // ...
  await client.zincrby("myPageCounts", 1, redisKey);
  next();
}

เข้าถึง Redis DB โดยใช้ REST API Endpoints

ก่อนหน้านี้ เราสร้างปลายทาง API แบบกำหนดเอง server/api/count.ts เพื่อรับการนับ ตำแหน่งข้อมูล API นั้นจะยังคงเหมือนเดิม ยกเว้นวิธีที่เราเรียก zscore วิธีการก็จะเปลี่ยนไปนิดหน่อย👇

// server/api/count.ts
import config from "#config";
import Redis from "ioredis";

const client = new Redis(config.UPSTASH_REDIS_CONN);

export default async (req: IncomingMessage, res: ServerResponse) => {
  // ...
  const count = await client.zscore("myPageCounts", redisKey);
  return { count };
};

ทดสอบด้วย Upstash CLI

เนื่องจากเรากำลังจัดเก็บข้อมูลทั้งหมดไว้ใน sorted-set เราจึงสามารถใช้ zrange เพื่อดึงรายการทั้งหมดจากชุดที่จัดเรียงของเรา

คุณสามารถเข้าถึง Redis CLI ที่มีให้ในคอนโซล Upstash และเรียกใช้คำสั่งต่อไปนี้:

zrange myPageCounts 0 -1

ที่นี่👆:

  • myPageCounts เป็นชื่อชุดเรียงของเรา
  • 0 -1 หมายถึงช่วง โดยที่ 0 เป็นค่าเริ่มต้นและ -1 แสดงถึงไอเทมสุดท้ายของเซ็ต

คำสั่งด้านบนแสดงรายการคีย์ทั้งหมดโดยไม่มี SCORES เราแก้ไขได้โดยการเพิ่ม WITHSCORES 👇

// lowest SCORE first
zrange myPageCounts 0 -1 WITHSCORES

// highest SCORE first
zrevrange myPageCounts 0 -1 WITHSCORES

// get SCORE for page.home hits
zscore myPageCounts page.home

ในขณะที่คุณทดสอบ API และมิดเดิลแวร์ อย่าลืมตรวจสอบคอนโซล Upstash สำหรับกิจกรรมทั้งหมดที่เกิดขึ้นบนเว็บไซต์ของคุณ

เริ่มต้นใช้งาน Nuxt 3 และ Serverless Redis

การใช้ทรัพยากรในคอนโซล Upstash

การปรับใช้แอป Nuxt 3 ของคุณ

เอ็นจิ้นเซิร์ฟเวอร์ Nitro มีส่วนสำคัญในขณะที่ปรับใช้แอป Nuxt 3

Netlify

ในการปรับใช้บน Netlify เราจะกด repo GitHub ของแอป Nuxt ตามปกติ อย่าลืมดูแลสามรายการต่อไปนี้เพื่อให้การปรับใช้งานของคุณเป็นไปอย่างราบรื่น

  • ใน Netlify ใช้ npm run build เป็นคำสั่ง build ของคุณและ dist เป็นไดเร็กทอรีที่จะเผยแพร่
  • สร้างตัวแปรสภาพแวดล้อมของคุณสำหรับการเชื่อมต่อ rest-url, token หรือ Redis ใน Netlify ก่อนปรับใช้
  • สุดท้ายแต่ไม่ท้ายสุด ตรวจสอบให้แน่ใจว่าคุณได้สร้าง netlify.toml ในรูทของโปรเจ็กต์ Nuxt ของคุณ สำหรับเนื้อหาของไฟล์นี้ ไปที่ netlify.toml

เมื่อเรา yarn build , Nuxt 3 สร้างไดเร็กทอรีชื่อ .output ที่เราได้ใช้ใน .toml ไฟล์เพื่อให้เส้นทางสำหรับการทำงานของเรา

// netlify.toml
//...
[build];
// ...
functions = ".output/server";

นี่คือตัวอย่าง Nuxt จากบทความนี้ที่ทำงานบน Netlify:https://thirsty-visvesvaraya-a09ab9.netlify.app/

คลาวด์แฟลร์

เราปรับใช้แอป Nuxt 3 กับพนักงาน Cloudflare ได้จากเทอร์มินัล! เอกสาร Nuxt 3 แนะนำให้ Miniflare ทดสอบแอปของคุณในเครื่อง จากนั้นใช้ Wrangler เพื่อดูตัวอย่างและเผยแพร่

อย่าลืมเพิ่ม wrangler.toml ไฟล์ในรูทโปรเจ็กต์ด้วย Cloudflare account_id และตัวแปรสภาพแวดล้อมตามที่แสดงในไฟล์ตัวอย่างนี้

สำหรับการปรับใช้ Cloudflare เราจะจัดเตรียม entry-point และสร้างคำสั่งด้วย NITRO_PRESET=cloudflare .

// wrangler.toml
//..
[site]
bucket = ".output/public"
entry-point = ".output"

[build]
command = "NITRO_PRESET=cloudflare yarn nuxt build"
upload.format = "service-worker"

นี่คือตัวอย่าง Nuxt จากบทความนี้ที่ทำงานบน Cloudflare worker:https://upstash-demo.krutie-patel.workers.dev/contact

บทสรุป

เราได้กล่าวถึงแอปพลิเคชันพื้นฐานที่สุดของ Redis โดยใช้บริการ Upstash เพื่อดูว่าเราจะรวมเข้ากับเฟรมเวิร์กการเรนเดอร์ฝั่งเซิร์ฟเวอร์เช่น Nuxt (v3) เพื่อ:

ได้อย่างไร
  • เชื่อมต่อกับฐานข้อมูล Redis
  • สร้างคีย์เฉพาะและเขียนคู่คีย์-ค่าลงในฐานข้อมูล
  • อ่านข้อมูลจากฐานข้อมูล Redis และ
  • ปรับใช้แอปของเรากับพนักงาน Netlify และ Cloudflare

Upstash ยังให้ตัวเลือกในการเข้ารหัสการรับส่งข้อมูลสำหรับแต่ละฐานข้อมูลที่เราสร้าง พร้อมด้วยตัวเลือกในการจำลองข้อมูลในหลายโซนความพร้อมใช้งานและแคชการตอบสนอง REST API ของเราในตำแหน่งขอบที่กระจายไปทั่วโลก คุณจะพบตัวเลือกเหล่านี้ในคอนโซล Upstash ใต้ รายละเอียด ของฐานข้อมูลของคุณ

สำหรับผู้เริ่มต้นที่ต้องการสำรวจ Redis DB Upstash ทำให้ง่ายต่อการเริ่มต้นในแง่ของการทำงานกับเทคโนโลยี front-end ที่จะเกิดขึ้นและที่มีอยู่ที่เรารู้จักและชื่นชอบอยู่แล้ว ฉันหวังว่าบทความนี้จะเป็นจุดเริ่มต้นที่ดีในการเริ่มต้นเส้นทาง Redis ของคุณ