Socket
Book a DemoInstallSign in
Socket

react-native-cachemere

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-cachemere

An async cache manager for React Native

latest
npmnpm
Version
1.2.0
Version published
Maintainers
1
Created
Source

react-native-cachemere

npm version npm downloads

An async cache manager.

Install

Since AsyncStorage has been removed from the React Native core, you first need to install @react-native-community/async-storage. Then,

yarn add react-native-cachemere

Example

import Cache from 'react-native-cachemere'

const getData = async () => {
  const CACHE_KEY = `my_cache_key`;

  // First, try to get data from cache
  const cachedData = await Cache.get(CACHE_KEY);
  if (cachedData) {
    return cachedData
  }

  // If no cache is set, get data from server
  const data = await getDataFromServer();

  // Then, cache that data  
  const INVALIDATE_AFTER = 3; // the number of attempts after which the cache is invalidated
                              // if set to null, cache is only invalidated after TTL expires

  const TTL = Cache.TTL_12H;  // cache for 12h
  await Cache.set(CACHE_KEY, data, TTL, INVALIDATE_AFTER);

  return data
}

Usage

set

await Cache.set(key, data, ttl, attempts)

key is a string used to set and get the cached data.

data must be serializable object.

ttl is expressed in seconds. There are some standard TTLs exposed by the lib.

Cache.TTL_12H = 43200
Cache.TTL_8H = 28800
Cache.TTL_6H = 21600
Cache.TTL_4H = 14400
Cache.TTL_1H = 3600

attempts is an integer. Cache is invalidated after this number of attempts. If left unset (or set to null), cache is only invalidated after TTL expires.

get

await Cache.get(key)

Returns the data as a parsed JSON. If there's no cached data for that key or that data cache has expired, returns null.

When cache expires it is automatically cleared from the storage.

getAll

const all = await Cache.getAll()

Returns an array with all cached objects, parsed.

clear

await Cache.clear(key)

Cache is removed for the specified key.

clearExpired

await Cache.clearExpired()

Remove all expired cache. Can be called at app startup to ensure a decluttered Storage.

clearByRegex

await Cache.clearByRegex(regex)

Remove all cache with keys that pass the regex condition. Can be used when fetching the data with pagination and need to cache every group of data received.

Keywords

cache

FAQs

Package last updated on 12 Oct 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts