- [C#] Cách Sử Dụng DeviceId trong C# Để Tạo Khóa Cho Ứng Dụng
- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
[C#] Memory Cache là gì, và sử dụng trong ứng dụng Winform
Xin chào các bạn bài viết hôm nay mình hướng dẫn các bạn sử dụng Memory Cache trên ứng dụng C#, Winform.
[C#] How to use Memory Cache in Winform
Khi các bạn làm hệ thống lớn, để cho người dùng có trải nghiệm tốt hơn thì người ta thường sử dụng Cache.
Cache chúng ta thường hay sử dụng 2 loại:
- Cache File (lưu trữ nội dung ra file)
- Sử dụng Memory Cache
Sử dụng Memory cache thì tốc độ sẻ nhanh rất nhiều lần so với chúng ta cache ra file.
Memory Cache trong C# là một công cụ được cung cấp bởi .NET Framework cho phép lưu trữ dữ liệu tạm thời trong bộ nhớ RAM của hệ thống.
Nó được sử dụng để lưu trữ dữ liệu tạm thời trong ứng dụng, giúp giảm bớt số lần truy cập dữ liệu từ cơ sở dữ liệu hoặc ổ đĩa, giúp tăng tốc độ truy cập dữ liệu và giảm tải cho máy chủ.
Memory Cache là một cơ chế lưu trữ dữ liệu khả dụng trong .NET Framework, có thể được sử dụng trong nhiều loại ứng dụng, bao gồm các ứng dụng WinForms, WPF, ASP.NET, Windows Services, Console Applications,...
Việc sử dụng Memory Cache là một trong những cách để tối ưu hiệu suất ứng dụng, giúp giảm thời gian truy vấn dữ liệu, tăng tốc độ xử lý và cải thiện trải nghiệm người dùng.
Trên winform, các bạn import thư viện System.Runtime.Caching
như hình bên dưới:
Dưới đây là một ví dụ về cách sử dụng Memory Cache trong C#:
using System;
using System.Runtime.Caching;
class Program
{
static void Main(string[] args)
{
// Khởi tạo đối tượng MemoryCache
MemoryCache cache = MemoryCache.Default;
// Lưu trữ dữ liệu vào MemoryCache
string key = "myData";
string data = "LAPTRINHVB.NET";
cache.Add(key, data, DateTimeOffset.Now.AddMinutes(10));
// Truy cập dữ liệu từ MemoryCache
string cachedData = (string)cache[key];
Console.WriteLine(cachedData);
// Kiểm tra xem dữ liệu có tồn tại trong MemoryCache không
if (cache.Contains(key))
{
Console.WriteLine("Data exists in cache");
}
else
{
Console.WriteLine("Data does not exist in cache");
}
// Xóa dữ liệu khỏi MemoryCache
cache.Remove(key);
}
}
Trong ví dụ trên, chúng ta khởi tạo đối tượng MemoryCache bằng cách sử dụng thuộc tính tĩnh MemoryCache.Default
.
Sau đó, chúng ta lưu trữ dữ liệu "LAPTRINHVB.NET" vào MemoryCache với khóa "myData" và thời gian sống là 10 phút.
Sau đó, chúng ta truy cập dữ liệu từ MemoryCache bằng cách sử dụng khóa "myData" và in ra màn hình. Tiếp theo, chúng ta kiểm tra xem dữ liệu có tồn tại trong MemoryCache hay không.
Cuối cùng, chúng ta xóa dữ liệu khỏi MemoryCache bằng cách sử dụng phương thức Remove.
Lưu ý rằng trong ví dụ này, chúng ta sử dụng thời gian sống để cấu hình thời gian lưu trữ của dữ liệu trong MemoryCache. Nếu thời gian sống của dữ liệu hết hạn, dữ liệu sẽ bị xóa khỏi MemoryCache.
Việc sử dụng MemoryCache trong C# WinForms có ưu điểm và nhược điểm như sau:
Ưu điểm:
- Tăng tốc độ truy cập dữ liệu: MemoryCache được lưu trữ trong bộ nhớ RAM, do đó truy cập dữ liệu từ MemoryCache nhanh hơn so với truy cập dữ liệu từ cơ sở dữ liệu hoặc tệp vật lý trên đĩa cứng.
- Giảm lưu lượng truy vấn cơ sở dữ liệu: Khi sử dụng MemoryCache, chúng ta có thể lưu trữ dữ liệu được truy vấn từ cơ sở dữ liệu lên MemoryCache.
- Khi có yêu cầu truy vấn tương tự, chúng ta có thể sử dụng dữ liệu từ MemoryCache thay vì truy vấn lại cơ sở dữ liệu, từ đó giảm lượng truy vấn cơ sở dữ liệu.
- Có thể kiểm soát thời gian sống của dữ liệu: Chúng ta có thể cấu hình thời gian sống của dữ liệu trong MemoryCache, giúp giảm bớt tình trạng bộ nhớ tràn do lưu trữ dữ liệu quá lớn.
Nhược điểm:
- Không phù hợp với dữ liệu lớn: Nếu lưu trữ dữ liệu quá lớn trong MemoryCache, sẽ dẫn đến việc sử dụng nhiều bộ nhớ hơn, gây giảm hiệu năng của ứng dụng.
- Không phù hợp với các ứng dụng đòi hỏi tính chính xác cao: Trong trường hợp các ứng dụng yêu cầu dữ liệu chính xác, việc sử dụng MemoryCache có thể dẫn đến việc lấy dữ liệu không đúng, do MemoryCache lưu trữ dữ liệu từ phiên trước đó.
- Không giải quyết được vấn đề đồng bộ hóa dữ liệu: Nếu có nhiều luồng truy cập đến cùng một MemoryCache, có thể dẫn đến xung đột dữ liệu. Trong trường hợp này, chúng ta cần sử dụng các cơ chế đồng bộ hóa dữ liệu để giải quyết vấn đề.
Các bạn có thể tham khảo và download link bài viết bên dưới có sử dụng Memory Cache để cache dữ liệu khi truy vấn API:
Thanks for watching!