EnyimMemcachedCore 3.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package EnyimMemcachedCore --version 3.1.0
                    
NuGet\Install-Package EnyimMemcachedCore -Version 3.1.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="EnyimMemcachedCore" Version="3.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EnyimMemcachedCore" Version="3.1.0" />
                    
Directory.Packages.props
<PackageReference Include="EnyimMemcachedCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EnyimMemcachedCore --version 3.1.0
                    
#r "nuget: EnyimMemcachedCore, 3.1.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.
#:package EnyimMemcachedCore@3.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EnyimMemcachedCore&version=3.1.0
                    
Install as a Cake Addin
#tool nuget:?package=EnyimMemcachedCore&version=3.1.0
                    
Install as a Cake Tool

Enyim Memcached Client

This is a memcached client library for .NET migrated from EnyimMemcached.

Configure

The appsettings.json Without Authentication

{
  "enyimMemcached": {
    "Servers": [
      {
        "Address": "memcached",
        "Port": 11211
      }
    ],
    "Transcoder": "MessagePackTranscoder"
  }
}
The appsettings.json With Authentication
{
  "enyimMemcached": {
    "Servers": [
      {
        "Address": "memcached",
        "Port": 11211
      }
    ],
    "Authentication": {
      "Type": "Enyim.Caching.Memcached.PlainTextAuthenticator",
      "Parameters": {
        "zone": "",
        "userName": "username",
        "password": "password"
      }
    }
  }
}

Startup.cs

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddEnyimMemcached();
        // services.AddEnyimMemcached("enyimMemcached");
        // services.AddEnyimMemcached(Configuration);
        // services.AddEnyimMemcached(Configuration, "enyimMemcached");
        // services.AddEnyimMemcached(Configuration.GetSection("enyimMemcached"));
        // services.AddEnyimMemcached(options => options.AddServer("memcached", 11211));
    }
    
    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    { 
        app.UseEnyimMemcached();
    }
}

Example usage

Use IMemcachedClient interface

public class HomeController : Controller
{
    private readonly IMemcachedClient _memcachedClient;
    private readonly IBlogPostService _blogPostService;

    public HomeController(IMemcachedClient memcachedClient, IBlogPostService blogPostService)
    {
        _memcachedClient = memcachedClient;
        _blogPostService = blogPostService;
    }

    public async Task<IActionResult> Index()
    {
        var cacheKey = "blogposts-recent";
        var cacheSeconds = 600;

        var posts = await _memcachedClient.GetValueOrCreateAsync(
            cacheKey,
            cacheSeconds,
            async () => await _blogPostService.GetRecent(10));

        return Ok(posts);
    }
}

Use IDistributedCache interface

public class CreativeService
{
    private ICreativeRepository _creativeRepository;
    private IDistributedCache _cache;

    public CreativeService(
        ICreativeRepository creativeRepository,
        IDistributedCache cache)
    {
        _creativeRepository = creativeRepository;
        _cache = cache;
    }

    public async Task<IList<CreativeDTO>> GetCreatives(string unitName)
    {
        var cacheKey = $"creatives_{unitName}";
        IList<CreativeDTO> creatives = null;

        var creativesJson = await _cache.GetStringAsync(cacheKey);
        if (creativesJson == null)
        {
            creatives = await _creativeRepository.GetCreatives(unitName)
                    .ProjectTo<CreativeDTO>().ToListAsync();

            var json = string.Empty;
            if (creatives != null && creatives.Count() > 0)
            {
                json = JsonConvert.SerializeObject(creatives);
            }
            await _cache.SetStringAsync(
                cacheKey, 
                json, 
                new DistributedCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromMinutes(5)));
        }
        else
        {
            creatives = JsonConvert.DeserializeObject<List<CreativeDTO>>(creativesJson);
        }

        return creatives;
    }
}
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (47)

Showing the top 5 NuGet packages that depend on EnyimMemcachedCore:

Package Downloads
EasyCaching.Memcached

A simple distributed caching provider based on EnyimMemcachedCore.

Senparc.CO2NET.Cache.Memcached

WeChat Public Account - Memcached Module Senparc.CO2NET SDK Open Source Project: https://github.com/JeffreySu/WeiXinMPSDK

EDQ.WMS.Infrastructrue

Package Description

Zicard.API.Common

Bases microservices da Zicard API

MT.DotNetCore

MT DotNetCore Common Libs.

GitHub repositories (6)

Showing the top 6 popular GitHub repositories that depend on EnyimMemcachedCore:

Repository Stars
dotnetcore/EasyCaching
:boom: EasyCaching is an open source caching library that contains basic usages and some advanced usages of caching which can help us to handle caching more easier!
Cysharp/MasterMemory
Source Generator based Embedded Typed Readonly In-Memory Document Database for .NET and Unity.
Senparc/Senparc.CO2NET
Base Common Library, support for.NET Framework &.NET Core
grissomlau/jimu
.netcore micro service framework
catcherwong/Demos
:100:Some demos for learning
newrelic/newrelic-dotnet-agent
The New Relic .NET language agent.
Version Downloads Last Updated
3.4.5 4,321 9/9/2025
3.4.4 13,077 8/10/2025
3.4.3 221 8/10/2025
3.4.2 141 8/10/2025
3.4.1 3,127 8/4/2025
3.4.0 111,167 5/18/2025
3.3.3-pre2 1,671 1/24/2025
3.3.3-pre1 121 1/24/2025
3.3.2 193,334 12/19/2024
3.3.1 24,189 12/9/2024
3.3.0 91,086 11/23/2024
3.2.4 136,647 10/27/2024
3.2.3 255,450 9/2/2024
3.2.2 105,374 7/31/2024
3.2.1 558,699 4/3/2024
3.2.0 159,153 2/22/2024
3.1.0 805 2/21/2024
3.0.1 53,060 2/6/2024
3.0.0 30,016 1/31/2024
2.7.1 34,266 2/6/2024
2.7.0 207,847 12/2/2023
2.6.6 677,453 5/2/2023
2.6.5 4,237 4/28/2023
2.6.4 284,407 1/29/2023
2.6.3 1,502 1/29/2023
2.6.2 1,150 1/29/2023
2.6.1 1,250 1/29/2023
2.6.0 90,370 1/18/2023
2.5.7 104,435 1/1/2023
2.5.6 357,027 11/24/2022
2.5.5 51,862 11/4/2022
2.5.4 440,573 7/3/2022
2.5.3 1,418,420 1/27/2021
2.5.2 83,396 1/3/2021
2.5.2-preview1 1,584 12/4/2020
2.5.1 47,089 12/2/2020
2.5.0 2,307 12/2/2020
2.5.0-preview3 1,315 11/30/2020
2.5.0-preview2 1,276 11/30/2020
2.5.0-preview1 1,262 11/14/2020
2.4.5 276,842 11/17/2020
2.4.4 326,343 8/25/2020
2.4.3 261,311 3/25/2020
2.4.2 59,875 2/25/2020
2.4.1 209,025 10/16/2019
2.4.0 197,388 9/15/2019
2.3.0 84,229 7/10/2019
2.2.4 90,392 6/15/2019
2.2.3 13,337 5/25/2019
2.2.2 10,148 5/17/2019
2.2.0 77,835 5/16/2019
2.1.14 17,062 5/3/2019
2.1.13 11,132 4/21/2019
2.1.12 44,028 12/31/2018
2.1.11 2,165 12/30/2018
2.1.10 244,035 9/22/2018
2.1.9 25,449 9/16/2018
2.1.8 75,903 6/18/2018
2.1.7 4,138 6/12/2018
2.1.5 103,470 5/30/2018
2.1.3 2,602 5/29/2018
2.1.2 4,719 5/24/2018
2.1.1 12,660 5/23/2018
2.1.0.7 45,642 4/2/2018
2.1.0.6 2,943 3/26/2018
2.1.0.5 5,480 3/8/2018
2.1.0.4 2,869 3/5/2018
2.1.0.3 2,581 3/5/2018
2.1.0.2 29,846 1/19/2018
2.1.0.1 10,175 1/3/2018
2.1.0 143,335 12/15/2017
2.0.4 2,395 12/12/2017
2.0.2 26,048 9/7/2017
2.0.1 43,463 8/19/2017
2.0.0 7,021 8/15/2017
2.0.0-beta1 3,112 7/12/2017
1.1.1.12 12,390 7/8/2017
1.1.1.11 2,351 7/8/2017
1.1.1.10 8,499 5/20/2017
1.1.1.9 2,414 5/20/2017
1.1.1.8 4,139 4/20/2017
1.1.1.7 7,169 3/18/2017
1.1.1.6 10,746 3/16/2017
1.1.1.5 3,226 3/7/2017
1.1.1.4 2,755 3/7/2017
1.1.1.3 14,248 1/2/2017
1.1.1.2 2,734 12/24/2016
1.1.1.1 3,380 12/20/2016
1.1.1 3,046 12/10/2016
1.1.0.2 3,176 12/10/2016
1.1.0.1 2,859 12/8/2016
1.1.0 2,855 12/5/2016
1.0.0.8 7,286 11/11/2016
1.0.0.7-preview1 2,572 10/26/2016
1.0.0.6 6,370 10/20/2016
1.0.0.5 2,640 10/19/2016
1.0.0.4 2,638 10/18/2016
1.0.0.3 2,662 10/13/2016
1.0.0.2 2,710 9/27/2016
1.0.0.1 2,863 9/26/2016
1.0.0 4,187 3/25/2016