Skip to content

AdonisJS Cache makes it seamless to implement any Caching strategy in AdonisJS 5 applications.

Notifications You must be signed in to change notification settings

Kaperskyguru/adonis-cache

Repository files navigation

Table of contents

Adonis Cache

Cache provider for AdonisJS 5

typescript-image ![npm-image] ![license-image]

This packages makes it seamless to implement any Caching strategy in AdonisJS 5 applications.

Installation

Install the package using either npm or yarn:

npm i @kaperskyguru/adonis-cache
# or
yarn add @kaperskyguru/adonis-cache

Then, configure the package using the invoke command:

node ace invoke @kaperskyguru/adonis-cache

This package works exactly the way Laravel Cache package works with ease of use and effortless to set up.

// .env

CACHE_DRIVER=file // defaults to FILE

Usage

import Cache from '@ioc:Kaperskyguru/Adonis-cache'

let posts = await Cache.remember('_posts_', 60, async function () {
  return await Post.all()
})

Available Methods

  • Cache.has(name: string): Checks if specified name is already Cached.
  • Cache.get(name: string): Retrieves a Cached content by name.
  • Cache.set(name: string, data: any, duration: number): Cached a particular content with assigned name.
  • Cache.delete(name: string): Deletes a Cache by name.
  • Cache.update(name: string, data: any, duration: number): Updates a Cache by name.
  • Cache.remember(name: string, duration: number, callback: Function): Caches content with duration.
  • Cache.rememberForever(name: string, callback: Function): Caches content without duration.
  • Cache.many(keys: Array): Retrieves all cached content specified into an array.
  • Cache.setMany(data: object, minutes: number): Caches many content mapped by name at once.

Currently adding more, have any contribution? send a PR.

This package is built as a similarity to laravel-cache. You can learn more about the methods available there.