SwiftMemCache alternatives and similar libraries
Based on the "Utility" category.
Alternatively, view SwiftMemCache alternatives based on common mentions on social networks and blogs.
-
SwifterSwift
A handy collection of more than 500 native Swift extensions to boost your productivity. -
R.swift
Strong typed, autocompleted resources like images, fonts and segues in Swift projects -
SwiftGen-Storyboard
The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs! -
SwiftGen
The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs! -
swift-protobuf
Plugin and runtime library for using protobuf with Swift -
Dollar
A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript -
ExSwift
a set of Swift extensions for standard types and classes. -
EZSwiftExtensions
:smirk: How Swift standard types and classes were supposed to work. -
DifferenceKit
💻 A fast and flexible O(n) difference algorithm framework for Swift collection. -
Result
Swift type modelling the success/failure of arbitrary operations. -
DeepDiff
🦀Amazingly incredible extraordinary lightning fast diffing in Swift -
Device
Light weight tool for detecting the current device and screen size written in swift. -
SwiftLinkPreview
It makes a preview from an URL, grabbing all the information such as title, relevant texts and images. -
WhatsNew
Showcase new features after an app update similar to Pages, Numbers and Keynote. -
Codextended
Extensions giving Swift's Codable API type inference super powers 🦸♂️🦹♀️ -
Popsicle
Delightful, extensible Swift value interpolation framework. -
SwiftyJSONAccelerator
macOS app to generate Swift 5 code for models from JSON (with Codeable) -
Playbook
📘A library for isolated developing UI components and automatically taking snapshots of them. -
ReadabilityKit
Preview extractor for news, articles and full-texts in Swift -
Compass
:earth_africa: Compass helps you setup a central navigation system for your application -
ObjectiveKit
Swift-friendly API for a set of powerful Objective C runtime functions. -
Bow
🏹 Bow is a cross-platform library for Typed Functional Programming in Swift -
Solar
A Swift micro library for generating Sunrise and Sunset times. -
Pythonic.swift
Pythonic tool-belt for Swift – a Swift implementation of selected parts of Python standard library. -
SwiftyUtils
All the reusable code that we need in each project -
Rugby
🏈 Cache CocoaPods for faster rebuild and indexing Xcode project -
Prototope
Swift library of lightweight interfaces for prototyping, bridged to JS.
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of SwiftMemCache or a related project?
README
SwiftMemCache - A Swift Memory Cache
CI Build State
Description
This project contains a Swift class that acts as a memory cache (singleton). It supports optionally namespacing for the cache identifier. It also supports a TTL to invalidate a cashed data object after a certain time.
The purpose of this class is to provide data across the whole code structure with an easy access pattern. You can extract interesting data into the mem cache and access it via a shared instance from anywhere in your code. SwiftMemCache DOES NOT write data to disk!
SwiftMemCache is completely unit tested, to prove that everything works as expected!
Features
NEW: Persistence Feature - Works only for elemental values at the moment
Save the current cache to disk. Entries with an expired TTL will be deleted before the cache gets persisted.
CTMemCache.sharedInstance.saveToDisk()
CTMemCache.sharedInstance.restoreFromDisk()
Add/Change Entry
Adds or changes a specified entry in the mem cache. Default TTL: -1 (object will always live in memory)
CTMemCache.sharedInstance.set("foo", data:<YourObject>, namespace:"bar", ttl:3600)
CTMemCache.sharedInstance.set("foo", data:<YourObject>)
Get
Return an entry if exists, otherwise returns nil
CTMemCache.sharedInstance.get("foo", namespace:"bar")
CTMemCache.sharedInstance.get("foo")
Delete
Deletes an entry by its key (namespace)
CTMemCache.sharedInstance.delete("foo", namespace:"bar")
CTMemCache.sharedInstance.delete("foo")
Exists
Returns true if an entry with the given key (optional namespace) exists
CTMemCache.sharedInstance.exists("foo", namespace:"bar")
Size
Returns the amount of the entries in the mem cache
CTMemCache.sharedInstance.size()
Clean Namespace
Deletes all entries of the given namespace from the mem cache
CTMemCache.sharedInstance.cleanNamespace("foo")
Expired
Checks if an given entry is expired. Returns true/false
CTMemCache.sharedInstance.isExpired("foo", namespace:"bar")
Delete Outdated Entries (TTL expired)
Cleans all entries in the mem cache where the TTL is expire
CTMemCache.sharedInstance.deleteOutdated()
Reset
This wipes all the data from the mem cache:
CTMemCache.sharedInstance.reset()
Requests
For feature requests or bugs open an issue or provide a unit tested Pull Request :-) Find me on Twitter: @ctews