All Projects → ammarahm-ed → React Native Mmkv Storage

ammarahm-ed / React Native Mmkv Storage

Licence: mit
An Efficient(0.0002s read/write), small & encrypted mobile key-value storage framework for React Native

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to React Native Mmkv Storage

Firebase Instagram
📸 Instagram clone with Firebase Cloud Firestore, Expo, and React Native 😁😍
Stars: ✭ 389 (+42.49%)
Mutual labels:  database, storage, native
Unqlite
An Embedded NoSQL, Transactional Database Engine
Stars: ✭ 1,583 (+479.85%)
Mutual labels:  database, storage
Griddb
GridDB is a next-generation open source database that makes time series IoT and big data fast,and easy.
Stars: ✭ 1,587 (+481.32%)
Mutual labels:  database, fast
Immortaldb
🔩 A relentless key-value store for the browser.
Stars: ✭ 2,962 (+984.98%)
Mutual labels:  database, storage
React Native Firebase
🔥 A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.
Stars: ✭ 9,674 (+3443.59%)
Mutual labels:  database, storage
Pufferdb
🐡 An Android & JVM key-value storage powered by Protobuf and Coroutines
Stars: ✭ 91 (-66.67%)
Mutual labels:  database, storage
Eix
eix can access Gentoo portage ebuild information and description very quickly (using a local cache). It can also be used to access information on installed packages, local settings, and local and external overlays, and informs about changes in the tree
Stars: ✭ 126 (-53.85%)
Mutual labels:  database, fast
Hexa
Hexa: The ultimate companion for Azure. Setup and deploy in seconds
Stars: ✭ 56 (-79.49%)
Mutual labels:  database, storage
Tera
An Internet-Scale Database.
Stars: ✭ 1,846 (+576.19%)
Mutual labels:  database, storage
Filebase
A Simple but Powerful Flat File Database Storage.
Stars: ✭ 235 (-13.92%)
Mutual labels:  database, storage
Aresdb
A GPU-powered real-time analytics storage and query engine.
Stars: ✭ 2,814 (+930.77%)
Mutual labels:  database, storage
Vault
Easy persistence of Contentful data for Android over SQLite.
Stars: ✭ 80 (-70.7%)
Mutual labels:  database, storage
Pumpkindb
Immutable Ordered Key-Value Database Engine
Stars: ✭ 1,219 (+346.52%)
Mutual labels:  database, storage
Bojack
🐴 The unreliable key-value store
Stars: ✭ 101 (-63%)
Mutual labels:  database, storage
Oblecto
Oblecto is a media server, which streams media you already own, and is designed to be at the heart of your entertainment experience. It runs on your home server to index and analyze your media such as Movies and TV Shows and presents them in an interface tailored for your media consupmtion needs.
Stars: ✭ 67 (-75.46%)
Mutual labels:  database, storage
Irmin
Built-in Snapshotting - backup and restore Storage Agnostic - you can use Irmin on top of your own storage layer Custom Datatypes - (de)serialization for custom data types, derivable via ppx_irmin Highly Portable - runs anywhere from Linux to web browsers and Xen unikernels Git Compatibility - irmin-git uses an on-disk format that can be inspected and modified using Git Dynamic Behavior - allows the users to define custom merge functions, use in-memory transactions (to keep track of reads as well as writes) and to define event-driven workflows using a notification mechanism
Stars: ✭ 1,524 (+458.24%)
Mutual labels:  database, storage
Corium
Corium is a modern scripting language which combines simple, safe and efficient programming.
Stars: ✭ 18 (-93.41%)
Mutual labels:  fast, native
Redux Storage
Persistence layer for redux with flexible backends
Stars: ✭ 681 (+149.45%)
Mutual labels:  database, storage
Dexie.js
A Minimalistic Wrapper for IndexedDB
Stars: ✭ 7,337 (+2587.55%)
Mutual labels:  database, storage
Combinefirebase
Combine wrapper on Google's iOS Firebase library.
Stars: ✭ 126 (-53.85%)
Mutual labels:  database, storage

react-native-mmkv-storage

License: MIT

An efficient, small & encrypted mobile key-value storage framework for React Native

What it is

This library aims to provide a fast & reliable solution for you data storage needs in react-native apps. It uses MMKV by Tencent under the hood on Android and iOS both that is used by their WeChat app(more than 1 Billion users). Unlike other storage solutions for React Native, this library lets you store any kind of data type, in any number of database instances, with or without encryption in a very fast and efficient way. Read about it on this blog post I wrote on dev.to

Features

  • Written in C++ using JSI
    Starting from v0.5.0 the library has been rewritten in C++ on Android and iOS both. It employs React Native JSI making it the fastest storage option for React Native.
  • Simple and lightweight
    (~ 50K Android/30K iOS) and even smaller when packaged.
  • Fast and Efficient (0.0002s Read/Write Speed)
    MMKV uses mmap to keep memory synced with file, and protobuf to encode/decode values to achieve best performance. You can see the benchmarks here: Android & iOS
  • Multi-Process Support
    MMKV supports concurrent read-read and read-write access between processes.
  • Create unlimited Database instances
    You can create many database instances. This helps greatly if you have seperate logics/modules in the same app that use data differently, It also helps in better performance since each database instance is small instead of a single bulky database which makes things slower as it grows.
  • Full encryption support
    The library supports full encryption on Android and iOS. You can choose to store your encryption key securely for continuious usage. The library uses Keychain on iOS and Android Keystore on android (API 23 and above). On android for lower api levels (API 22 and below), it uses secure prefrences which provides not perfect but incremental security on older Android APIs.
  • Simple indexer and data querying
    For each database instance, there is one global key index and then there are indexes of each type of data. So querying is easy and fast.
  • Supports redux-persist
    Support for redux persist is also added starting from v0.3.2.

Links

Quickstart

Contact & Support

  • Create a GitHub issue for bug reports, feature requests, or questions
  • Follow @ammarahm-ed for announcements
  • Add a ⭐️ star on GitHub or ❤️ tweet to support the project!

RoadMap

You can track the upcoming features, changes and the future of this library in this issue

I want to contribute

That is awesome news! There is alot happening at a very fast pace in this library right now. Every little help is precious. You can contribute in many ways:

  • Suggest code improvements on native iOS and Android
  • If you have suggestion or idea you want to discuss, open an issue.
  • Open an issue if you want to make a pull request, and tell me what you want to improve or add so we can discuss
  • I am always open to new ideas

License

This library is licensed under the MIT license.

Copyright © Ammar Ahmed (@ammarahm-ed)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].