การเชื่อมต่อ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ส่วน抽象ของ IDistributedCache
- การเชื่อมต่อ Redis
- รูปแบบการแคชและการหมดอายุ
- การแคชออบเจ็กต์ที่ทำให้เป็นอนุกรม