Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Die Zwischenspeicherung ist eine grundlegende Technik in der Softwareentwicklung zur Verbesserung der Leistung durch Speicherung häufig abgerufener Daten im Arbeitsspeicher oder einem schnelleren Speichermedium. In C#,LazyCache ist eine beliebte Bibliothek, die die thread-sichere Cache-Implementierung vereinfacht und es den Entwicklern erleichtert, das Caching in ihren Anwendungen für Szenarien mit hoher Last effektiv zu nutzen.
Was ist LazyCache?
LazyCache ist eine zugrunde liegende Caching-Provider-Bibliothek für .NET/ ASP.NET Core-Anwendungen, die eine einfache und intuitive API für das Caching von Daten bietet. Es ist als NuGet-Paket verfügbar und kann leicht in C#-Projekte integriert werden. Das Hauptziel von LazyCache ist die Vereinfachung der Caching-Implementierung und die Reduzierung des Boilerplate-Codes, der für die Verwaltung von zwischengespeicherten Informationen mit einem Double-Locking-Cache-Muster erforderlich ist.
Hauptmerkmale von LazyCache:
Einfache API: LazyCache bietet eine einfache API zum Hinzufügen, Abrufen und Entfernen von zwischengespeicherten Elementen. Entwickler können das Caching schnell in ihre Anwendungen oder Webdienstaufrufe integrieren, ohne sich mit komplexen Caching-Mechanismen auseinandersetzen zu müssen.
Automatisches Verfallen: LazyCache unterstützt das automatische Verfallen von zwischengespeicherten Objekten basierend auf konfigurierbaren Verfallsrichtlinien. Entwickler können die Verfallsdauer für zwischengespeicherte Elemente festlegen, und LazyCache entfernt abgelaufene Elemente aus den Cache-Daten.
In-Memory Caching: LazyCache speichert zwischengespeicherte Elemente standardmäßig im Arbeitsspeicher, was es für Szenarien geeignet macht, in denen ein schneller Zugriff auf zwischengespeicherte Daten erforderlich ist. Das In-Memory-Caching sorgt für niedrige Latenzzeiten und einen hohen Durchsatz beim Zugriff auf zwischengespeicherte Daten.
Thread-sichere Operationen: LazyCache bietet Thread-sichere Operationen für das Hinzufügen, Abrufen und Entfernen von zwischengespeicherten Elementen. Dadurch wird sichergestellt, dass mehrere Threads gleichzeitig auf den Cache zugreifen können, ohne dass das Risiko einer Datenbeschädigung oder -inkonsistenz besteht.
Erweiterbarkeit: LazyCache ist so konzipiert, dass es erweiterbar ist und es Entwicklern ermöglicht, das Caching-Verhalten entsprechend ihrer spezifischen Anforderungen anzupassen. Es bietet Hooks für die Implementierung benutzerdefinierter Caching-Strategien, wie z. B. verteiltes Caching oder Caching mit Persistenz.
Wie man LazyCache in C# verwendet:
Die Verwendung von LazyCache in C# ist dank der intuitiven API sehr einfach. Nachfolgend ein einfaches Beispiel, das zeigt, wie LazyCache verwendet werden kann, um das Ergebnis eines Methodenaufrufs zwischenzuspeichern:
using LazyCache;
public class DataService
{
// private readonly IAppCache cache
private readonly IAppCache _cache;
public DataService(IAppCache cache)
{
_cache = cache;
}
public string GetData()
{
return _cache.GetOrAdd("dataKey", () =>
{
// Simulate expensive operation such as database calls
return FetchDataFromDatabase();
});
}
private string FetchDataFromDatabase()
{
// Simulate fetching data from a database
return "Cached Data";
}
}
using LazyCache;
public class DataService
{
// private readonly IAppCache cache
private readonly IAppCache _cache;
public DataService(IAppCache cache)
{
_cache = cache;
}
public string GetData()
{
return _cache.GetOrAdd("dataKey", () =>
{
// Simulate expensive operation such as database calls
return FetchDataFromDatabase();
});
}
private string FetchDataFromDatabase()
{
// Simulate fetching data from a database
return "Cached Data";
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
In diesem Beispiel verwendet die DataService-Klasse LazyCache zum Zwischenspeichern des Ergebnisses der GetData() methode. Die Funktion GetOrAdd() methode ruft die zwischengespeicherten Daten ab, die mit dem angegebenen Schlüssel verbunden sind("dataKey") wenn sie existiert. Wenn die Daten nicht zwischengespeichert werden, wird der bereitgestellte Delegat(FetchDataFromDatabase()) ausgeführt, um die Daten abzurufen, die dann zur späteren Verwendung zwischengespeichert werden.
IronPDF ist eine leistungsstarke C#-PDF-Bibliothek, die das Erzeugen, Bearbeiten und Extrahieren von Inhalten aus PDF-Dokumenten in .NET-Projekten ermöglicht. Hier sind einige der wichtigsten Merkmale:
HTML zu PDF Konvertierung:
Konvertieren Sie HTML-, CSS- und JavaScript-Inhalte in das PDF-Format.
Verwenden Sie die Chrome Rendering Engine für pixelgenaue PDFs.
Bild- und Inhaltskonvertierung:
Konvertieren Sie Bilder in und aus PDF.
Extrahieren Sie Text und Bilder aus vorhandenen PDF-Dateien.
Bearbeitung und Manipulation:
Legen Sie Eigenschaften, Sicherheit und Berechtigungen für PDFs fest.
Digitale Signaturen hinzufügen.
Plattformübergreifende Unterstützung:
Arbeitet mit .NET Core(8, 7, 6, 5 und 3.1+), .NET-Standard(2.0+)und .NET-Framework(4.6.2+).
Kompatibel mit Windows, Linux und macOS.
Erstellen Sie zunächst eine Konsolenanwendung mit Visual Studio (siehe unten).
Geben Sie den Projektnamen an.
Geben Sie die .NET-Version an.
Installieren Sie das IronPDF-Paket.
Installieren Sie das LazyCache-Paket, um gecachte Methodenaufrufe hinzuzufügen.
using LazyCache;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CodeSample
{
internal class LazyCacheDemo
{
public static void Execute()
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo LazyCache and IronPDF</h1>";
content += "<h2>Create CachingService</h2>";
// Create the cache service using caching logic
IAppCache cache = new CachingService();
content += "<p>IAppCache cache = new CachingService();</p>";
var cacheKey = "uniqueKey";
content += "<p>string cachedValue = cache.GetOrAdd(cacheKey, expensiveMethod);</p>";
// Define a factory method to generate the cacheable data
Func<string> expensiveLongRunMethod = () => {
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeLazyCacheAndIronPdf.pdf");
return content;
};
// Get the cached value or add it if it doesn't exist
string cachedValue = cache.GetOrAdd(cacheKey, expensiveLongRunMethod);
Console.WriteLine(cachedValue);
}
}
}
using LazyCache;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CodeSample
{
internal class LazyCacheDemo
{
public static void Execute()
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo LazyCache and IronPDF</h1>";
content += "<h2>Create CachingService</h2>";
// Create the cache service using caching logic
IAppCache cache = new CachingService();
content += "<p>IAppCache cache = new CachingService();</p>";
var cacheKey = "uniqueKey";
content += "<p>string cachedValue = cache.GetOrAdd(cacheKey, expensiveMethod);</p>";
// Define a factory method to generate the cacheable data
Func<string> expensiveLongRunMethod = () => {
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeLazyCacheAndIronPdf.pdf");
return content;
};
// Get the cached value or add it if it doesn't exist
string cachedValue = cache.GetOrAdd(cacheKey, expensiveLongRunMethod);
Console.WriteLine(cachedValue);
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Für das IronPDF-Paket ist eine Lizenz für die Ausführung und Erstellung der PDF-Datei erforderlich. Fügen Sie den folgenden Code am Anfang der Anwendung ein, bevor auf das Paket zugegriffen wird.
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY";
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
Eine Testlizenz ist verfügbarauf der IronPDF-Testlizenzseite.
LazyCache vereinfacht die Caching-Implementierung in C#-Anwendungen, indem es eine unkomplizierte API und ein automatisches Verfallsdatum für zwischengespeicherte Elemente bietet. Durch die Integration von LazyCache in Ihre Projekte können Sie die Leistung verbessern, indem Sie häufig aufgerufene Daten effizient zwischenspeichern, Latenzzeiten reduzieren und die Ressourcennutzung auf atomare und ordentliche Weise optimieren. Egal, ob Sie Webanwendungen, APIs oder Dienste erstellen, LazyCache kann ein wertvolles Werkzeug sein, um die Leistung und Skalierbarkeit Ihrer C#-Anwendungen zu verbessern.
IronPDF hingegen zeichnet sich als leistungsfähige und vielseitige C#-Bibliothek für die Verarbeitung von PDF-Dokumenten in .NET-Anwendungen aus. Seine robusten Funktionen umfassen das Erstellen, Bearbeiten, Rendern von HTML in PDF und die programmatische Bearbeitung von PDFs. IronPDF bietet Funktionen für die sichere Handhabung von Dokumenten durch Verschlüsselung und digitale Signaturen und ermöglicht es Entwicklern, PDF-Workflows effizient zu verwalten und anzupassen, was es zu einem wertvollen Werkzeug für eine breite Palette von Dokumentenmanagement- und -erstellungsaufgaben in der C#-Entwicklung macht.
9 .NET API-Produkte für Ihre Bürodokumente