MemoryCache.Net 1.0.0

dotnet add package MemoryCache.Net --version 1.0.0                
NuGet\Install-Package MemoryCache.Net -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MemoryCache.Net" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MemoryCache.Net --version 1.0.0                
#r "nuget: MemoryCache.Net, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MemoryCache.Net as a Cake Addin
#addin nuget:?package=MemoryCache.Net&version=1.0.0

// Install MemoryCache.Net as a Cake Tool
#tool nuget:?package=MemoryCache.Net&version=1.0.0                

MemoryCache.Net

License: MIT nuget

Implementation of a parallel thread-safe in-memory caching system with save, and load support suited for 'state' programming.

Install

From a command prompt

dotnet add package MemoryCache.Net
Install-Package MemoryCache.Net

You can also search for package via your nuget ui / website:

https://www.nuget.org/packages/MemoryCache.Net/

Examples

You can find more examples in the github examples project.

// You can populate the cache at initialization time
using var cache = new MemoryCache
{
  ["caw"] = "caw caw caw"
};

// You can also access an entry directly by key. However you will need to cast from dynamic using this method.
var caw1 = (string)cache["caw"];
cache["caw"] = "caw caw caw 2";

// You can create new entries directly by key, and they can be complex types!
cache["object"] = new KeyValuePair<string, int>("test", 42);

// However, non-serializable complex types will be "ignored" during .Save
cache["stream"] = new MemoryStream(new byte[] { 32, 34 });

// You can also use the Read<T>, and Write<T> methods. These methods handle casting for you to and from dynamic.
var caw2 = cache.Read<string>("caw");
cache.Write("caw", "caw caw caw 3");

// You can save cache using either Binary, or Json serialization by specifying either byte[], or string as T during save.
var binary = cache.Save<byte[]>();
var json = cache.Save<string>();

// You can reload cache from another source such as disk, or socket. With the option of clearing any existing data.
cache.Load(binary);

Constructor

MemoryCache()

Methods

Write a dynamic value to cache without returning anything

void Write(string key, dynamic value)

Write a T value to cache returning the T value from cache

T Write<T>(string key, T value)

Read a value from cache returning as T

T Read<T>(string key)

Delete an entry from cache without returning anything

void Delete(string key)

Delete an entry from cache returning that value as T

T Delete<T>(string key)

Serialize all entries in cache marked as serializable. If you specify T as byte[] binary serialization is used. If you specify T as string json serialization is used.

T Save<T>()

Load serialized entries into cache. If you specify T as byte[] binary serialization is used. If you specify T as string json serialization is used.

void Load<T>(T data, bool clear = true)
Product Compatible and additional computed target framework versions.
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on MemoryCache.Net:

Package Downloads
TimedMemoryCache.Net

Implementation of a parallel thread-safe in-memory caching system with save, and load support suited for 'state' programming and easy timeout support for time sensitive caching.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 504 8/25/2020