npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cache-layer

v1.0.23

Published

An abstraction for cache providers, it exposes a common interface for diferente ways of cache

Downloads

185

Readme

Cache Layer npm version

An abstraction for cache providers, it exposes a common interface for different ways to cache data

It suports

Build Status Dependency Status Coverage Status Code Climate

Sumary


Installation

$ npm install cache-layer --save

API

get

  • Retrieves a value for a given key

put

  • Store a value for a given key
  • If time isn't passed in, it is stored forever

del

  • Delete value for a given key

has

  • Check if key exists on cache

Usage

InMemory

const client = Cache.create({
  provider: 'in-memory',
  ttl: 2000 // a defautt TTL (miliseconds)
});

MemCached

To use memcached you have to inform a server or it will set a localhost as default. So, to use it locally, you need to install memcached. If you have a memcached server, just inform the host

sudo apt-get install memcached
const client = Cache.create({
  host: 'localhost:11211' // if any host was informed, it will set localhost as default
  provider: 'memcached',
  ttl: 2000 // a defautt TTL (miliseconds)
});
Options

All available options to create memcached instance: https://raw.githubusercontent.com/3rd-Eden/memcached/master/README.md

Redis

const client = Cache.create({
  provider: 'redis',
  host: 'redis.com.br',
  container: 'cache',
  port: 6379,
  ttl: 2000, // a defautt TTL (miliseconds)
  keyPrefix: 'cache:',
  lazyConnect: true,
  maxRetriesPerRequest: 0
});

The TTL is in ms, you can pass a default value, or add as a third parameter on add method. The package implements zeit/ms, so is possible to use a string to define the TTL with zeit/ms format

const done = await client.add('hashKey', { name: 'John' }, 1000);
const result = await client.get('hashKey');

const done = await client.add('hashKey', { name: 'John' }, '1s');
const result = await client.get('hashKey');

const done = await client.add('hashKey', { name: 'John' }, '1d');
const result = await client.get('hashKey');
Options

All available options to create ioredis instance: https://raw.githubusercontent.com/luin/ioredis/f4fe62f231b33b28fda1cb28b4f5690655007b80/API.md

Features

License

License