Memstache.Distributed
1.0.0
dotnet add package Memstache.Distributed --version 1.0.0
NuGet\Install-Package Memstache.Distributed -Version 1.0.0
<PackageReference Include="Memstache.Distributed" Version="1.0.0" />
paket add Memstache.Distributed --version 1.0.0
#r "nuget: Memstache.Distributed, 1.0.0"
// Install Memstache.Distributed as a Cake Addin #addin nuget:?package=Memstache.Distributed&version=1.0.0 // Install Memstache.Distributed as a Cake Tool #tool nuget:?package=Memstache.Distributed&version=1.0.0
MemStache.Distributed
MemStache.Distributed is a high-performance, feature-rich distributed caching library for .NET applications. It provides a robust and secure solution for managing distributed caches, offering seamless integration with popular technologies and a focus on developer productivity.
Features
- Distributed Caching: Leverages Redis for high-performance data storage and retrieval across multiple application instances.
- Secure Key Management: Integrates with Azure Key Vault and supports the Rebel Alliance KeyVault Secrets Emulator for local development.
- Data Protection: Built-in encryption and compression capabilities.
- Multi-tenancy Support: Efficient cache isolation for multi-tenant applications.
- Flexible Serialization: Supports various serialization options.
- Advanced Eviction Policies: Implements LRU, LFU, and time-based eviction strategies.
- Performance Optimizations: Includes batch operations and memory-efficient byte array pooling.
- Resilience and Error Handling: Implements circuit breaker and retry policies.
- Telemetry and Logging: Integrates with popular logging and monitoring solutions.
- Extensibility: Designed for easy customization and extension.
Documentation
For more detailed information, please refer to the following documentation:
- Introduction
- Getting Started
- Core Concepts
- Features in Detail
- Configuration
- Usage Guide
- Advanced Topics
- Development and Testing
- API Reference
Quick Start
Install the NuGet package:
dotnet add package MemStache.Distributed
Configure MemStache in your
Startup.cs
orProgram.cs
:services.AddMemStacheDistributed(options => { options.DistributedCacheProvider = "Redis"; options.EnableCompression = true; options.EnableEncryption = true; });
Inject and use
IMemStacheDistributed
in your classes:public class MyService { private readonly IMemStacheDistributed _cache; public MyService(IMemStacheDistributed cache) { _cache = cache; } public async Task<string> GetValueAsync(string key) { return await _cache.GetAsync<string>(key); } }
Contributing
We welcome contributions! Please see our Contributing Guidelines for more information on how to get started.
License
MemStache.Distributed is released under the MIT License. See the LICENSE file for details.
Support
If you encounter any issues or have questions, please open an issue on our GitHub repository.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- Azure.Identity (>= 1.12.0)
- Azure.Security.KeyVault.Keys (>= 4.6.0)
- Azure.Security.KeyVault.Secrets (>= 4.6.0)
- Microsoft.Extensions.Caching.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.1)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.1)
- Microsoft.Extensions.Options (>= 8.0.2)
- NBitcoin (>= 7.0.38)
- Newtonsoft.Json (>= 13.0.3)
- OpenTelemetry.Exporter.Jaeger (>= 1.5.1)
- OpenTelemetry.Exporter.Prometheus.AspNetCore (>= 1.5.1-alpha.1)
- OpenTelemetry.Exporter.Zipkin (>= 1.9.0)
- OpenTelemetry.Extensions.Hosting (>= 1.9.0)
- OpenTelemetry.Instrumentation.AspNetCore (>= 1.9.0)
- OpenTelemetry.Instrumentation.Http (>= 1.9.0)
- Polly (>= 8.4.1)
- Rebel.Alliance.KeyVault.Secrets.Emulator (>= 1.0.1)
- Serilog (>= 4.0.1)
- Serilog.Extensions.Logging (>= 8.0.0)
- Serilog.Sinks.Console (>= 6.0.0)
- Serilog.Sinks.File (>= 6.0.0)
- StackExchange.Redis (>= 2.8.12)
- System.Linq.Async (>= 6.0.1)
- System.Text.Json (>= 8.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 71 | 9/19/2024 |