.NET Caching Library

$ 99.95

The .NET Caching Library is the most flexible caching library available. It can be used in any type of application for the web, phone, or internet of things. It allows your application to have a memory cache with a backing cache of files, SQLite or SQL Server. The backing cache works in tandem with the memory cache to load items when it does not exist in the memory cache. Cached items can have different expiration policies in the memory cache and the backing cache. The memory cache is built on top of the System.Runtime.Caching and it has been enhanced to support regions. Data in the backing cache can be compressed and encrypted. The backing caches also support asynchronous save and remove. It supports all .NET project types including .NET Framework .NET Core, Mono, Xamarin iOS, Xamarin Mac, Xamarin Android, UWP, Unity, .NET 5, and .NET 6. It supports all .NET languages including VB.NET and C#. Download the full list of features.

While it can be purchased separately, this product is also included in the Gold Suite. Gold Suite subscribers receive all product updates and all new products as part of a yearly subscription. It is the best value in the industry.

 

Features

Feature Description
Familiar Method Names If you are familiar with the System.Runtime.Caching namespace in the .NET Framework, the methods in the .NET Caching Library have the same name; Add, AddOrGetExisting, Contains, Get, GetCacheItem, Remove, and Set.
Automatic Serialization/Deserialization Objects are automatically serialized and deserialized to the backing cache using binary serialization. No Serialization attribute is required on your objects.
Advanced Expiration Ability to have default expiration for memory and backing cache. Set individual expiration for each cache item saved for each cache. Cache items can have an absolute expiration or a sliding expiration.
Regions Store cached items in regions (including the memory cache).
Cache Key Generation Easily create cache keys based on parameters. Also supports unique reflection based key generation.
Advanced Removal Supports clearing cache items by Region, Wildcard, and Regular Expressions.
Cache Limits Ability to set the maximum cache items and maximum cache size for each provider. When the limit is reached, items are removed oldest first. Also supports removal by Least Recently Used or Largest Size.
Automatic Scavenging Backing cache providers automatically remove expired items on a configurable interval.
Asynchronous Operation Scavenging is performed asynchronously. Saving and removing can also be set to asynchronous. This includes asynchronous serialization, encryption and compression.
Extensible Easily create your own cache provider by inheriting from the BaseCacheProvider.
Documentation Industry standard formatted help and an easy to use demo is included.
Royalty Free Distribution Include with any .NET project royalty free. Deploy on an unlimited number of servers.
1 Year Free Upgrades Purchase today and all upgrades are free for the next year.
60 Day Money Back Guarantee At Kellerman Software, we want you to be totally satisfied with your purchase. Receive a refund within 60 days when ordering from KellermanSoftware.com. Source code versions are non-refundable due to their nature.
Lifetime Support Lifetime E-mail technical support is included.

 

How does the .NET Caching Library stack up against the competition?

Download In Excel

Download a free 30 day trial today.

  • Full working version
  • Includes technical support
  • Compatible with Windows, macOS, Linux, iOS, Android and Docker.
  • Compatible with .NET Framework 4.0 and higher, .NET Core 2.0 and higher, Mono 5.4 and higher, Xamarin.iOS 10.14 and higher, Xamarin.Mac 3.8 and higher, Xamarin.Android 8.0 and higher, Universal Windows Platform 10.0.16299 and higher, Unity 2018.1 and higher, .NET 5, and .NET 6.

Download Options

When using this software you meet the following system requirements.

  • Compatible with Windows, macOS, Linux, iOS, Android and Docker.
  • Compatible with .NET Framework 4.0 and higher, .NET Core 2.0 and higher, Mono 5.4 and higher, Xamarin.iOS 10.14 and higher, Xamarin.Mac 3.8 and higher, Xamarin.Android 8.0 and higher, Universal Windows Platform 10.0.16299 and higher, Unity 2018.1 and higher, .NET 5, and .NET 6.
Example of loading a monthly sales report from the cache. It demonstrates attaching a file storage provider and loading and saving to the cache.
 
            [TestFixture]
            public class Example
            {
                [Test]
                public void ExampleUsage()
                {
                    //Create a Primary Memory Cache with a backing File Cache
                    string directory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "KellermanSoftware", "NetCachingLibrary", "Example");
                    SmartConfig config = new SmartConfig(new MemoryCacheProvider(), new FileCacheProvider(directory));
        
                    //Specify UserName and LicenseKey for Licensed Mode
                    //config.UserName = "my user name";
                    //config.LicenseKey = "my license key";
        
                    //Instantiate the cache
                    SmartCache cache = new SmartCache(config);
        
                    //Build parameters for a long running report
                    Dictionary<string, object> parms = new Dictionary<string, object>();
                    parms.Add("Month", DateTime.Now.Month);
                    parms.Add("Year", DateTime.Now.Year);
        
                    //Get the cache key based on the report parameters
                    string cacheKey = cache.BuildCacheKey("MonthlySalesReport", parms);
        
                    //Attempt to load the report from the cache
                    List<ReportDetail> report = cache.Get<List<ReportDetail>>(cacheKey);
        
                    //Not found in the cache
                    if (report == null)
                    {
                        //Load the report from the database
                        report = ReportLogic.MonthlySalesReport(parms);
        
                        //Save to the cache in the Default region using the default expiration for the primary and secondary caches
                        cache.Set<List<ReportDetail>>(cacheKey, report);
                    }
                }
            }
        
            public static class ReportLogic
            {
                //Example long running report
                public static List<ReportDetail> MonthlySalesReport(Dictionary<string, object> parms)
                {
                    System.Threading.Thread.Sleep(1000);
                    List<ReportDetail> list = new List<ReportDetail>();
                    list.Add(new ReportDetail("Midwest", 233457.47m));
                    list.Add(new ReportDetail("Southern", 234789.88m));
                    return list;
                }
            }

Q: How do I use my license key?
SmartConfig config = new SmartConfig(new MemoryCacheProvider(), new FileCacheProvider(directory));

//Specify UserName and LicenseKey for Licensed Mode
config.UserName = "my user name";
config.LicenseKey = "my license key";

//Instantiate the cache
SmartCache cache = new SmartCache(config);

Q: I lost my license key how do I retrieve it?
A: Go to your account

Q: I lost my software how do I retrieve it?
A: Go to downloads

Q: Where can I download the latest version of my software?
A: Click the download tab.

Q: How does the licensing work?
A: The .NET Caching Library may be installed on an unlimited number of servers, end user workstations, phones, and internet of thing devices.

Q: What happens when the trial expires?
A: An exception is thrown, indicating that the trial is expired.

Date Version Description
2/28/2009 1.0 Initial release. This is the only component on the market that is able to perform caching for smart clients using a local database or file cache. Features include asynchronous saving, deleting, and expiration. Compatible with SQL Server, Oracle, MS Access, SqLite, and VistaDB as back stores. Easily extensible framework allows you to develop your own custom back store.
3/21/2009 1.04 New features include Delete by Regular Expression, Delete by Wildcard, and Expire Smallest Size.
4/25/2009 1.08 The library can now be used in a web hosted medium trust environment.
6/2/2009 1.09 By request, the .NET Caching Library performs asynchronous compression of all caching for all providers.
10/29/2009 1.11 New ease of use feature; the licensing now propagates to the entire provider hiearchy. the update.
4/14/2010 1.15 This is a critical update which fixes an asynchronous transaction issue with the SQL Server Provider. The ClearAll performance has been increased for all database providers and the memory provider.
7/9/2010 1.17 This release includes a .NET Framework 4.0 Build for Visual Studio 2010.
9/1/2011 2.0 New features include, Silverlight Client Side Caching, Windows Phone 7 Client Side Caching, support for MySQL, support for isolated storage, support for Ninja Database Pro.
1/17/2012 2.09 New features include, support for Silverlight 5 and support for WriteableBitmap.
10/19/2014 2.11 This update fixes a compatibility issue with projects using ClickOnce deployments.
2/24/2016 2.15 Builds for .NET Framework 4.5.2 and 4.6. The library remains 100% managed code but is now compatible with COM.
12/5/2018 3.00 Complete rewrite to use System.Runtime.Caching. Now compatible with .NET Standard, .NET Core and Xamarin.
9/14/2019 3.11 Builds for .NET Framework 4.7, 4.7.1, 4.7.2, and 4.8.
9/14/2019 3.14 Now compatible with .NET Core 2.0 and higher, Mono 5.4 and higher, Xamarin.iOS 10.14 and higher, Xamarin.Mac 3.8 and higher, Xamarin.Android 8.0 and higher, Universal Windows Platform 10.0.16299 and higher, Unity 2018.1 and higher, .NET 5, and .NET 6.
7/28/2022 3.17 Fix Object Reference Error for Xamarin Forms.