0Pricing
C# Academy · บทเรียน

การเชื่อมต่อ Redis

กำหนดค่าแคชแบบกระจายของ Redis

การเชื่อมต่อ Redis เป็นบทเรียน C# Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C# Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน

Redis คืออะไร

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

การติดตั้งแพ็กเกจ

ASP.NET Core ผสานการทำงานกับ Redis ผ่านแพ็กเกจ Microsoft.Extensions.Caching.StackExchangeRedis ซึ่งปรับไคลเอ็นต์ StackExchange.Redis ให้ทำงานกับ IDistributedCache

dotnet add package Microsoft.Extensions.Caching.StackExchangeRedis

การลงทะเบียน Redis ด้วย AddStackExchangeRedisCache

เรียกใช้ AddStackExchangeRedisCache ระหว่างลงทะเบียนบริการ และระบุสตริงการเชื่อมต่อ วิธีนี้จะกำหนดให้ Redis เป็นการติดตั้งใช้งานของ IDistributedCache

builder.Services.AddStackExchangeRedisCache(options =>
{
    options.Configuration = "localhost:6379";
});

การใช้การกำหนดค่า

เก็บสตริงการเชื่อมต่อไว้ใน appsettings.json และอ่านผ่าน IConfiguration เพื่อให้ค่าแตกต่างกันไปตามสภาพแวดล้อม

builder.Services.AddStackExchangeRedisCache(options =>
{
    options.Configuration =
        builder.Configuration.GetConnectionString("Redis");
});

คำนำหน้า InstanceName

กำหนด InstanceName เพื่อเติมคำนำหน้าให้กับทุกคีย์ที่ Redis จัดเก็บ วิธีนี้จะสร้างเนมสเปซให้คีย์ของแอป ทำให้แอปหลายตัวใช้ Redis อินสแตนซ์เดียวกันได้อย่างปลอดภัย

builder.Services.AddStackExchangeRedisCache(options =>
{
    options.Configuration = "localhost:6379";
    options.InstanceName = "MyApp:";
});

ตัวเลือกของสตริงการเชื่อมต่อ

สตริงการเชื่อมต่อของ StackExchange.Redis รองรับตัวเลือกมากมาย เช่น ปลายทางหลายแห่ง รหัสผ่าน SSL และระยะเวลาหมดการเชื่อมต่อ โดยคั่นทุกตัวเลือกด้วยจุลภาค

options.Configuration =
    "redis-server:6380,password=secret,ssl=True,abortConnect=False";

อินเทอร์เฟซเดิมกับ Redis จริง

เมื่อลงทะเบียนแล้ว คุณยังคงใช้ IDistributedCache ได้เหมือนเดิมทุกประการ การเปลี่ยนแปลงมีเพียงบรรทัดลงทะเบียนเท่านั้น ดังนั้นบริการของคุณจึงไม่ต้องแก้ไขเพื่อเริ่มใช้งาน Redis

public WeatherService(IDistributedCache cache) => _cache = cache;
// GetStringAsync / SetStringAsync now talk to Redis

การเรียกใช้ Redis ในเครื่อง

สำหรับการพัฒนา คุณสามารถเรียกใช้ Redis ได้อย่างรวดเร็วด้วย Docker แล้วกำหนดสตริงการเชื่อมต่อให้ชี้ไปยัง Redis ที่เรียกใช้งานอยู่

docker run -p 6379:6379 redis:7
# then Configuration = "localhost:6379"

ตัวเลือก Redis แบบมีผู้ให้บริการจัดการ

ในระบบจริง บริการที่มีผู้ให้บริการจัดการ เช่น Azure Cache for Redis หรือ AWS ElastiCache จะดูแลการปรับขนาด การคงอยู่ของข้อมูล และการสลับไปยังระบบสำรองให้ โดยทั่วไปคุณจะเชื่อมต่อผ่านปลายทาง SSL และคีย์การเข้าถึง

options.Configuration =
    "myapp.redis.cache.windows.net:6380,password=KEY,ssl=True";

การจัดการความทนทานของการเชื่อมต่อ

กำหนด abortConnect=False เพื่อให้ไคลเอ็นต์พยายามเชื่อมต่อซ้ำต่อไป หาก Redis ไม่พร้อมใช้งานชั่วคราวตอนเริ่มต้น แทนที่จะแสดงข้อผิดพลาดทันที และควรใช้ร่วมกับ Polly เพื่อเพิ่มความทนทานในระดับการเรียกใช้

การตรวจสอบสถานะ

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

builder.Services.AddHealthChecks()
    .AddRedis("localhost:6379");

ตรวจสอบอย่างรวดเร็ว

ทดสอบการเชื่อมต่อกับ Redis

สรุปทบทวน

Redis คือแคชภายนอกที่ทำงานรวดเร็ว ติดตั้ง Microsoft.Extensions.Caching.StackExchangeRedis และเรียกใช้ AddStackExchangeRedisCache พร้อมสตริงการเชื่อมต่อจาก Configuration และอาจระบุคำนำหน้า InstanceName ได้ บริการของคุณยังคงใช้ IDistributedCache โดยไม่ต้องเปลี่ยนแปลง ใช้การกำหนดค่าที่เหมาะกับแต่ละสภาพแวดล้อม กำหนด abortConnect=False เพื่อเพิ่มความทนทาน และเพิ่มการตรวจสอบสถานะของ Redis

คำถามที่พบบ่อย

บทเรียน “การเชื่อมต่อ Redis” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การเชื่อมต่อ Redis” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C# Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C# Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การเชื่อมต่อ Redis”

กำหนดค่าแคชแบบกระจายของ Redis คุณปฏิบัติ C# Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C# Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C# Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การเชื่อมต่อ Redis” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C# Academy นี้ได้ไหม

ได้ บทเรียน C# Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ส่วน抽象ของ IDistributedCache
  2. การเชื่อมต่อ Redis
  3. รูปแบบการแคชและการหมดอายุ
  4. การแคชออบเจ็กต์ที่ทำให้เป็นอนุกรม
← กลับไปที่ C# Academy