Giới thiệu
Trong thế giới kỹ thuật số có nhịp độ nhanh ngày nay, các ứng dụng được kỳ vọng sẽ mang lại hiệu suất và khả năng phản hồi cao. Một cách để đạt được điều này là triển khai các cơ chế bộ nhớ đệm để lưu trữ dữ liệu được truy cập thường xuyên, giảm nhu cầu tìm nạp dữ liệu đó từ cơ sở dữ liệu nhiều lần. Redis, một kho lưu trữ dữ liệu trong bộ nhớ phổ biến, cung cấp giải pháp bộ nhớ đệm mạnh mẽ cho các ứng dụng .NET Core. Trong bài viết này, chúng ta sẽ khám phá cách tích hợp bộ đệm Redis trong ứng dụng .NET Core 6 bằng các ví dụ thực tế.
Điều kiện tiên quyết
Trước khi chúng ta bắt đầu, hãy đảm bảo bạn đã cài đặt các điều kiện tiên quyết sau trên hệ thống của mình.
- .NET Core 6 SDK: Đảm bảo bạn đã cài đặt .NET Core 6 SDK trở lên. Bạn có thể tải xuống từ trang web .NET chính thức.
- Máy chủ Redis: Cài đặt và chạy máy chủ Redis cục bộ hoặc sử dụng dịch vụ đám mây Redis.
Cài đặt máy chủ Radis trên Window
Tải xuống Redis
Bạn có thể tải xuống phiên bản Redis được biên dịch sẵn đã khá cũ cho Windows 64 bit từ trang GitHub này:https://github.com/MicrosoftArchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.msi
Bằng cách nhấp vào liên kết này, you will get a .msi file đó là trình cài đặt Windows . Bây giờ hãy đi tới Tải xuống của bạn thư mục và tìm tập tin này.
Bây giờ hãy nhấp vào tệp đó và cài đặt Redis.
Máy chủ Redis đáng lẽ phải được cài đặt vào C:\Program Files\Redis . Ở đó bạn sẽ tìm thấy tệp .exe có tên redis-server.

Bây giờ hãy mở một dòng lệnh và nhập lệnh này.
redis-server

Máy chủ Redis của bạn đã bắt đầu chạy.
Bây giờ bạn có thể theo dõi các bản cập nhật và thay đổi trong máy chủ Redis bằng lệnh này.
redis-cli monitor

Tạo ứng dụng bảng điều khiển .NET Core 6
dotnet new console -n RedisCacheDemo Điều hướng đến thư mục dự án
cd RedisCacheDemo Cài đặt các gói cần thiết
dotnet add package StackExchange.Redis Định cấu hình kết nối Redis
Trong Program.cs file, add the necessary statement, and configure the Redis connection in the Main phương pháp:
static void Main(string[] args)
{
var configuration = ConfigurationOptions.Parse("localhost:6379");
var redisConnection = ConnectionMultiplexer.Connect(configuration);
var redisCache = redisConnection.GetDatabase();
Console.WriteLine("Fetching data with caching:");
var cachedData = GetDataWithCaching(redisCache);
Console.WriteLine($"Result: {cachedData}");
Console.WriteLine("Fetching data without caching:");
var uncachedData = GetDataFromDatabase();
Console.WriteLine($"Result: {uncachedData}");
redisConnection.Close(); //It is important to close the connection
}
static string GetDataFromDatabase()
{
// Simulate fetching data from the database
// Replace this with your actual database fetching logic
Thread.Sleep(2000); // Simulating latency
return "Start";
}
static string GetDataWithCaching(IDatabase redisCache)
{
// redisCache.KeyDelete("cachedData"); // For Delete the Cache
// redisCache.StringSet("cachedData", "Test", TimeSpan.FromMinutes(1)); // For Update the Cache
string cachedData = redisCache.StringGet("cachedData");
if (string.IsNullOrEmpty(cachedData))
{
cachedData = GetDataFromDatabase();
redisCache.StringSet("cachedData", cachedData, TimeSpan.FromMinutes(1));
}
return cachedData;
} Hãy tiếp tục thực hiện chương trình này.
Ở đầu ra này, kết quả có và không có bộ đệm là như nhau. Điều này là do đầu ra được lưu trữ trong bộ nhớ đệm vào lần đầu tiên nó được tạo. Tuy nhiên, nếu có bất kỳ thay đổi nào trong mã thì kết quả sẽ khác.
static string GetDataFromDatabase()
{
// Simulate fetching data from the database
// Replace this with your actual database fetching logic
Thread.Sleep(2000); // Simulating latency
return "Last";
} Tôi đã cập nhật giá trị của mã và sẽ chạy lại mã đó.
Ở đầu ra này, giá trị đầu tiên được truy xuất từ bộ đệm và giá trị thứ hai được truy xuất mà không cần sử dụng bộ đệm.
Kết luận
Xin chúc mừng! Bạn đã tích hợp thành công bộ đệm Redis vào ứng dụng .NET Core 6 của mình. Bằng cách triển khai bộ nhớ đệm, bạn đã cải thiện hiệu suất và khả năng phản hồi của ứng dụng, giúp ứng dụng xử lý dữ liệu được truy cập thường xuyên hiệu quả hơn.