AwesomeCache - Delightful on-disk cache (written in Swift)

  •        107

Delightful on-disk cache (written in Swift). Backed by NSCache for maximum performance and support for expiry of single objects. AwesomeCache >= 3.0 is designed to have a sync API, making it easy to reason about the actual contents of the cache. This decision has been made based on feedback from the community, to keep the API of AwesomeCache small and easy to use.

https://github.com/aschuch/AwesomeCache

Tags
Implementation
License
Platform

   




Related Projects

cache2k – High Performance Java Caching

  •    Java

cache2k focuses on providing a well engineered in-memory object cache implementation for Java applications.

Bullet Cache / MultiDomain Cache Daemon

  •    C

A next-generation memory cache daemon with idea similar to memcached, but which pervasively uses multithreading and provides advanced modes of data query and expiry. With its innovative system of record tags, it allows bulk expiry (or retrieval) of records by user-defined criteria such as quot;all records belogning to a certain pagequot; or quot;all records belonging to a certain userquot;. For more information, see the comprehensive User Guide.

Reservoir - Android library to easily serialize and cache your objects to disk using key/value pairs

  •    Java

Reservoir is a simple library for Android that allows you to easily serialize and cache your objects to disk using key/value pairs. Reservoir uses the internal cache storage allocated to your app. Before you can do anything, you need to initialize Reservoir with the cache size.

cache-loader - Caches the result of following loaders on disk

  •    Javascript

Add this loader in front of other (expensive) loaders to cache the result on disk. ⚠️ Note that there is an overhead for saving the reading and saving the cache file, so only use this loader to cache expensive loaders.

Cache - :package: Nothing but Cache.

  •    Swift

Cache doesn't claim to be unique in this area, but it's not another monster library that gives you a god's power. It does nothing but caching, but it does it well. It offers a good public API with out-of-box implementations and great customization possibilities. Cache utilizes Codable in Swift 4 to perform serialization. Cache is built based on Chain-of-responsibility pattern, in which there are many processing objects, each knows how to do 1 task and delegates to the next one. But that's just implementation detail. All you need to know is Storage, it saves and loads Codable objects.


SPTPersistentCache - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours

  •    Objective-C

Everyone tries to implement a cache at some point in their app’s lifecycle, and this is ours. This is a library that allows people to cache NSData with time to live (TTL) values and semantics for disk management.SPTPersistentCache is designed as an LRU cache which makes use of the file system to store files as well as inserting a cache header into each file. This cache header allows us to track the TTL, last updated time, the redundancy check and more. This allows the cache to know how often a file is accessed, when it was made, whether it has become corrupt and allows decisions to be made on whether the cache is stale.

Imaginary - :unicorn: Remote images, as easy as one, two, three.

  •    Swift

In the most common case, you want to set remote image from url onto ImageView. Imaginary does the heavy job of downloading and caching images. The caching is done via 2 cache layers (memory and disk) to allow fast retrieval. It also manages expiry for you. And the good news is that you can customise most of these features. Simply pass URL to fetch.

Ehcache

  •    Java

Ehcache is an open source, standards-based cache used to boost performance, offload the database and simplify scalability. Ehcache is robust, proven and full-featured and this has made it the most widely-used Java-based cache.

Clean-Me - A small macOS app that acts as a system cleaner (logs, cache, ...)

  •    Swift

I do NOT recommend you to delete ALL of your cache (or cache of some specific programs). Cache files is what makes your program load faster and preform tasks faster. If you delete it, your program will not only start slower, but will REGENERATE the cache files again. This will NOT save you some precious space on your disk. But if you do have a problem and want to delete the cache of some programs, I suggest you to click on the folder icon and search for that program and delete it this way. If you have large log files, then you can delete these but first check the log files. A large log file mostly indicates that a problem (or your system) really has some problems.

SDURLCache - URLCache subclass with on-disk cache support on iPhone/iPad

  •    Objective-C

On iPhone OS, Apple did remove on-disk cache support for unknown reason. Some will say it's to save flash-drive life, others will arg it's to save disk capacity. As it is explained in the NSURLCacheStoragePolicy, the NSURLCacheStorageAllowed constant is always treated as NSURLCacheStorageAllowedInMemoryOnly and there is no way to force it back, the code is certainly gone on this platform. For whatever reason Apple removed this feature, you may be interested by having on-disk HTTP request caching in your application. SDURLCache gives back this feature to this iPhone OS for you.To use it, you just have create an instance, replace the default shared NSURLCache with it and that's it, you instantly give on-disk HTTP request caching capability to your application.

PINCache - Fast, non-deadlocking parallel object cache for iOS, tvOS and OS X

  •    Objective-C

PINCache is a fork of TMCache re-architected to fix issues with deadlocking caused by heavy use. It is a key/value store designed for persisting temporary objects that are expensive to reproduce, such as downloaded data or the results of slow processing. It is comprised of two self-similar stores, one in memory (PINMemoryCache) and one on disk (PINDiskCache), all backed by GCD and safe to access from multiple threads simultaneously. On iOS, PINMemoryCache will clear itself when the app receives a memory warning or goes into the background. Objects stored in PINDiskCache remain until you trim the cache yourself, either manually or by setting a byte or age limit. Both PINMemoryCache and PINDiskCache use locks to protect reads and writes. PINCache coordinates them so that objects added to memory are available immediately to other threads while being written to disk safely in the background. Both caches are public properties of PINCache, so it's easy to manipulate one or the other separately if necessary.

python-diskcache - Python disk backed cache (Django-compatible).

  •    Python

DiskCache is an Apache2 licensed disk and file backed cache library, written in pure-Python, and compatible with Django. Note: Micro-benchmarks have their place but are not a substitute for real measurements. DiskCache offers cache benchmarks to defend its performance claims. Micro-optimizations are avoided but your mileage may vary.

MOSS 2007 Farm-Wide BLOB Cache Flushing Solution

  •    

The MOSS 2007 Farm-Wide BLOB Cache Flushing Solution (or BlobCacheFarmFlush) provides SharePoint site collection administrators with a UI-based mechanism to flush the contents of MOSS publishing site BLOB cache folders (or disk based cache) on all servers in a farm at once.

AFCache - AFCache is an HTTP cache for iOS and OSX seeking towards full RFC2616 compliance

  •    Objective-C

AFCache is an HTTP disk cache for use on iPhone/iPad and OSX. It can be linked as a static library or as a framework. The cache was initially written because on iOS, NSURLCache ignores NSURLCacheStorageAllowed and instead treats it as NSURLCacheStorageAllowedInMemoryOnly which is pretty useless for a persistent cache. Build a fully RFC2616 compliant cache instead of doing simple time-based caching Status: Works for general use, some edge cases might not be compliant/implemented yet.

Kingfisher - A lightweight, pure-Swift library for downloading and caching images from the web.

  •    Swift

Kingfisher is a lightweight, pure-Swift library for downloading and caching images from the web. This project is heavily inspired by the popular SDWebImage. It provides you a chance to use a pure-Swift alternative in your next app. Kingfisher will download the image from url, send it to both the memory cache and the disk cache, and display it in imageView. When you use the same code later, the image will be retrieved from cache and shown immediately.

keyv - Simple key-value storage with support for multiple backends

  •    Javascript

Keyv provides a consistent interface for key-value storage across multiple backends via storage adapters. It supports TTL based expiry, making it suitable as a cache or a persistent key-value store.Install Keyv.

page-cache - Caches responses as static files on disk for lightning fast page loads.

  •    PHP

This package allows you to easily cache responses as static files on disk for lightning fast page loads. While static site builders such as Jekyll and Jigsaw are extremely popular these days, dynamic PHP sites still offer a lot of value even for a site that is mostly static. A proper PHP site allows you to easily add dynamic functionality wherever needed, and also means that there's no build step involved in pushing updates to the site.

react-native-cacheable-image - An Image Component for React Native that will cache itself to disk.

  •    Javascript

An Image component for React Native that will cache itself to disk. CacheableImage understands its state. Once you define a source the first time it's state has been set. You can create another component with the same source and it will load the same cached file without having to fetch from a remote URI.

MapDB - Embedded Database Engine

  •    Java

MapDB is an embedded database engine. It provides Maps and other collections backed by disk or memory storage. It offers excellent performance comparable to java collections, but is not limited by GC overhead. It is also a full database engine with storage backends, transactions, cache algorithms, expiration and many other options. MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap memory.