Crescendo Lab เอกสาร ดีพลอย
ไทย
สมัครใช้งาน

เพิ่มแคช Redis ให้โปรเจกต์

สร้างแคช Redis ส่วนตัวบน Google Memorystore (S ถึง XL เลือกความพร้อมใช้งานสูงและ TLS ได้) แล้วเชื่อมกับโปรเจกต์เป็น REDIS_URL จากคอนโซลหรือเครื่องมือ AI

อัปเดตล่าสุด
ดู Markdown เปิดใน Claude เปิดใน ChatGPT

วิธีที่เร็วที่สุด: ให้การดีพลอยสร้างให้#

ถ้าโค้ดอ่าน REDIS_URL (หรือตัวแปรการเชื่อมต่อ Redis อื่น) และโปรเจกต์ยังไม่มีค่าของตัวแปรนั้น การดีพลอยจากเครื่องมือ AI หรือการอัปโหลดในคอนโซลจะสร้างแคชขนาด S แบบทั่วไป และเชื่อมต่อให้ก่อนเริ่มบิลด์ ใช้เวลาประมาณ 5 นาที กรณีที่สร้างและไม่สร้าง ดูที่ฐานข้อมูลและแคชที่โค้ดต้องใช้

สิ่งที่คุณได้#

อินสแตนซ์ Redis 7.2 เฉพาะบน Google Memorystore ในไต้หวัน (asia-east1) สำหรับหนึ่งสภาพแวดล้อม

การตั้งค่าตัวเลือก
หน่วยความจำS 1 GiB, M 2 GiB, L 4 GiB, XL 8 GiB ขยายได้ภายหลัง แต่ลดไม่ได้
ความพร้อมใช้งานแบบทั่วไป หรือ ความพร้อมใช้งานสูง ที่มีเรพลิกาคอยรับช่วงต่อ เปลี่ยนไม่ได้หลังสร้าง
การเข้ารหัส TLSปิดเป็นค่าเริ่มต้น เปลี่ยนไม่ได้หลังสร้าง เมื่อใช้ TLS โปรเจกต์ต้องมีใบรับรอง CA ด้วย
นโยบายการนำข้อมูลออกสิ่งที่เกิดขึ้นเมื่อหน่วยความจำเต็ม: noeviction, allkeys-lru, allkeys-lfu, allkeys-random, volatile-lru, volatile-lfu, volatile-random หรือ volatile-ttl เปลี่ยนได้
  • ส่วนตัว แคชมีเพียงที่อยู่ส่วนตัว เฉพาะโปรเจกต์ที่คุณเชื่อมต่อเท่านั้นที่เข้าถึงได้ และต้องใช้รหัสผ่าน AUTH ซึ่งเปิดอยู่เสมอ คุณเชื่อมต่อจากคอมพิวเตอร์ของตัวเองไม่ได้ จากเครื่องมือ AI ใช้ caches_command รันคำสั่งทีละคำสั่งแทนได้
  • จำนวนตามแพ็กเกจ Free ไม่มีแคช Pro มีได้ 5 Team 20 Business ตามสัญญา เลือกได้ทั้งสี่ขนาด
  • ราคา ยังไม่ได้ประกาศราคาแคช คอนโซลไม่แสดงราคาประเมิน และ caches_options ไม่ตอบราคา ความพร้อมใช้งานสูงแพงกว่าแบบทั่วไป

สร้างแคช#

  1. เปิด แคช แล้วเลือก สร้างแคช
  2. ใส่ ชื่อ: อักษรอังกฤษตัวเล็ก ตัวเลข และขีดกลาง ขึ้นต้นด้วยตัวอักษร ไม่เกิน 63 ตัวอักษร
  3. เลือก หน่วยความจำ ความพร้อมใช้งาน การเข้ารหัส TLS และ นโยบายการนำข้อมูลออก สำหรับเซสชันหรือข้อมูลที่หายไม่ได้ ใช้ noeviction สำหรับแคชล้วน ใช้ allkeys-lru
  4. ยืนยัน แคชจะพร้อมใช้งานในประมาณ 5 นาที

เชื่อมต่อโปรเจกต์#

การเชื่อมต่อจะเขียนข้อมูลการเชื่อมต่อลงในความลับของโปรเจกต์ และให้โปรเจกต์ผ่านเครือข่ายของแคชได้ ไม่มีใครเห็นรหัสผ่าน

  1. เปิดแคช ไปที่ การเชื่อมต่อโปรเจกต์ แล้วเลือก เชื่อมต่อโปรเจกต์
  2. เลือกโปรเจกต์และชื่อตัวแปร แล้วเลือก ตรวจสอบการเปลี่ยน ENV ตัวอย่างจะแสดงตัวแปรที่จะถูกแทนที่
  3. ยืนยัน และเปิด เริ่มโปรเจกต์ใหม่หลังตั้งค่า ไว้ เพื่อให้โปรเจกต์อ่านค่าใหม่

ส่วน url มีรูปแบบ redis://:<password>@<ที่อยู่ส่วนตัว>:6379/0 เมื่อใช้ TLS จะขึ้นต้นด้วย rediss:// และใช้พอร์ต 6378 ที่ Memorystore กำหนดให้แคชแบบ TLS ไคลเอนต์ส่วนใหญ่ใช้ได้ทันที เมื่อใช้ TLS ให้ส่งใบรับรอง CA ให้ไคลเอนต์ด้วย

server.js
import { createClient } from "redis";

const redis = createClient({
  url: process.env.REDIS_URL,
  socket: process.env.REDIS_CA ? { tls: true, ca: process.env.REDIS_CA } : undefined,
});
await redis.connect();

แคชต้องอยู่ในสถานะ พร้อมใช้งาน ก่อน โปรเจกต์จึงจะเชื่อมต่อได้ ยกเลิกการเชื่อมต่อ จะเอาสิทธิ์เข้าถึงของโปรเจกต์ออก และข้อมูลรับรองจะถูกลบเมื่อสิทธิ์เครือข่ายถูกเพิกถอนแล้ว

เปลี่ยนหรือลบแคช#

  • เปลี่ยนชื่อ ขยายหน่วยความจำ หรือเปลี่ยนนโยบายการนำข้อมูลออก ได้ที่ จัดการ หรือด้วย caches_update TLS และความพร้อมใช้งานเปลี่ยนไม่ได้ ให้สร้างแคชใหม่แทน
  • ลบแคช จะลบคีย์ทั้งหมดถาวร การเชื่อมต่อโปรเจกต์จะถูกเพิกถอนก่อน
  • การมอนิเตอร์ ของแคชแสดงหน่วยความจำ การเชื่อมต่อ คำสั่ง อัตราการพบข้อมูล และคีย์ที่ถูกนำออก ถ้ามีคีย์ถูกนำออกแม้แต่ตัวเดียว แปลว่าแคชเต็ม ใช้ขนาดที่ใหญ่ขึ้นจะช่วยได้

จากเครื่องมือ AI caches_update และ caches_delete ต้องใช้ generation ปัจจุบันจาก caches_get ส่วน caches_command รันคำสั่ง Redis หนึ่งคำสั่งจากรายการที่อนุญาต คำสั่งอ่านรันทันที คำสั่งเขียนรันหลังคุณยืนยัน AUTH, CONFIG, EVAL, FLUSH และ KEYS จะถูกปฏิเสธ ดูที่เครื่องมือ MCP › Redis (แคช)