react-native-parse-cache
v0.0.2
Published
Parse cache that works with react-native.
Downloads
7
Maintainers
Readme
react-native-parse-cache
Parse SDK caching for cloud code or browser that works with react-native.
This is a fork of the Back4App parse-cache module that has been modified for use with Parse/react-native
, and uses react-native-cache-store
for storage.
Installation
npm install react-native-parse-cache --save
Usage
import Parse from 'parse/react-native';
import ParseCache from 'react-native-parse-cache';
ParseCache(Parse);
const RecordObject = Parse.Object.extend('Record');
const query = new Parse.Query(RecordObject); // or const query = new Parse.Query('Record');
query
.cache(30) // The number of seconds to cache the query. Defaults to 60 seconds.
.equalTo('someField', 'someValue')
.find(); // you can use find, first, count, countDocuments, estimatedDocumentCount, aggregate, each, get or distinct
You can also pass a custom key into the .cache()
method, which you can then use later to clear the cached content.
query
.cache(30, 'some_custom_cache_key') // The number of seconds to cache the query. Defaults to 60 seconds.
.equalTo('someField', 'someValue')
.find();
Insert .cache()
into the queries before find, first, count, countDocuments, estimatedDocumentCount, aggregate, each, get or distinct
if you want to cache, and they will be cached. Works with select
, ascending
, descending
, and anything else that will modify the results of a query.
Clearing the cache
If you want to clear the cache for a specific query, you must specify the cache key yourself:
query
.cache(30, 'some_custom_cache_key')
.find();
ParseCache.clearCache('some_custom_cache_key').then(doSomething);
// or using async/await
async function clearCache(key) {
await ParseCache.clearCache(key);
}
If you call ParseCache.clearCache(null, cb) or await ParseCache.clearCache()
without passing a cache key as the first parameter, the entire cache will be cleared for all queries.