Skip to content

Jac21/CacheLiteSharp

Repository files navigation

logo

NuGet Status MIT Licence Build Status donate

๐Ÿ“‚ A variety of cache implementations, all in .NET Core C#

Primarily influenced by the Kotlin-based Cache-Lite over at Kid the Programmer

Cache implementations include Perpetual, Least Recently Used, and Expirable.

This is mainly an academic exercise, however, feel entirely free to use this class library in your own projects, and please let me know the results of said attempt. This library comes in a handy nuget package for the bold in question.

Installation

PM> Install-Package CacheLiteSharp.Core -Version 6.0.1

Interface

All caches in this library implement the following simplistic interface, with slight variations on flush strategy inherent to said implementation:

    public interface ICache<T> where T : class
    {
        /// <summary>
        /// Obtain the size of the Cache in integer form
        /// </summary>
        int Size { get; }

        /// <summary>
        /// Set a generic cache value based on a string key 
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        void Set(string key, T value);

        /// <summary>
        /// Get a particular cache value using a string key
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        T Get(string key);

        /// <summary>
        /// Remove a particular cache value using a string key
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        T Remove(string key);

        /// <summary>
        /// Clear the entire cache
        /// </summary>
        void Clear();
    }

About

๐Ÿ“‚ A variety of cache implementations, all in .NET Core C#

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages