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

@moblybr/memcached-client

v1.2.0

Published

Este pacote serve para fazer gestão do memcached .

Downloads

28

Readme

@mobly/packages/memcached

Este pacote serve para fazer a conexão com o memcache, adicionar dados no cache e recupera-los.

Modo de usar

Adicione a seu projeto através do comando:

npm i @moblybr/memcached-client

Com isso, você pode usá-lo da seguinte forma:

  • Uso básico:

O pacote procura nas variáveis de ambiente pela variável MEMCACHED_URI e atribui ao config do memcached.

O pacote pode receber mais de uma URI, nesse caso, é so passar um array de URI's.

Importando o pacote e configurando

Você possui três formas:

Importando o modulo via import. Se instancia o modulo em uma variável, depois com o método config é passada as configurações do client.

// myModule.js

import moblyMemcache from '@moblybr/memcached-client'
let client = moblyMemcache()

client.config({
  connection: {
    hosts: process.env.MEMCACHED_URI
  },
  cacheEnabled: !!+process.env.CACHE_ENABLED, // true or false
  autodiscover: !!+process.env.IS_ELASTICACHE, // true or false
  muteErros: true
})

Importando via require pode se usar o auto invoke.

// myModule.js

const client = require('@moblybr/memcached-client')()

client.config({
  connection: {
    hosts: process.env.MEMCACHED_URI
  },
  cacheEnabled: !!+process.env.CACHE_ENABLED, // true or false
  autodiscover: !!+process.env.IS_ELASTICACHE, // true or false
  muteErros: true
})

Semelhante ao exemplo a cima, também é possivél importar via require e no auto invoke passar as configuração do modulo.

// myModule.js

const moblyMemcache = require('@moblybr/memcached-client')({
  connection: {
    hosts: process.env.MEMCACHED_URI
  },
  cacheEnabled: !!+process.env.CACHE_ENABLED, // true or false
  autodiscover: !!+process.env.IS_ELASTICACHE, // true or false
  muteErros: true
})

Você terá os métodos:

// myModule.js

const moblyMemcache = require('@moblybr/memcached-client')({
  connection: {
    hosts: process.env.MEMCACHED_URI
  },
  cacheEnabled: !!+process.env.CACHE_ENABLED, // true or false
  autodiscover: !!+process.env.IS_ELASTICACHE, // true or false
  muteErros: true
})

const userCached = await client.get(key)
// retorna {
//   id: 123,
//   user: ...
// }

await client.set(key, value, ttl)
// retorna OK
  • get(key) - get do dado salvo
  • set(key, value, ttl = 0 /_ default, nunca expira do cache_/) - salva um dado novo
  • config({}) - seta a configuração
  • getConfig() - retorna a configuração
  • connect() - conecta
  • disconnect() - desconecta

Uso configurando a URI

Você pode configurar o endereço da sua instância Memcache setando a variável de ambiente MEMCACHED_URI.

Instanciando mais de um client

Você pode instanciar varios clients de acordo com a demanda da aplicação

// myModule.js

const moblyMemcache = require('@moblybr/memcached-client')({
  connection: {
    hosts: process.env.MEMCACHED_URI // primeira_URI
  },
  cacheEnabled: !!+process.env.CACHE_ENABLED, // true or false
  autodiscover: !!+process.env.IS_ELASTICACHE, // true or false
  muteErros: true
})

const moblyMemcache2 = require('@moblybr/memcached-client')({
  connection: {
    hosts: process.env.SECOND_MEMCACHED_URI // segunda_URI
  },
  cacheEnabled: !!+process.env.CACHE_ENABLED, // true or false
  autodiscover: !!+process.env.IS_ELASTICACHE, // true or false
  muteErros: true
})

const config = moblyMemcache.getConfig()
// retorna
// {
//   connection: {
//     hosts: primeira_URI
//   },
//   cacheEnabled: true
//   autodiscover: false
//   muteErros: true
// }

const config2 = moblyMemcache2.getConfig()
// retorna
// {
//   connection: {
//     hosts: segunda_URI
//   },
//   cacheEnabled: false
//   autodiscover: true
//   muteErros: true
// }

Retornando um cliente Memcache-Plus

Caso seja necessário usar mais features que não estão acima, você pode ter uma instância do Memcache-Plus utilizando a função getClient.

Ex.

const plusClient = await moblyMemcache.getClient(key)
console.log(plusClient instanceof MemcachePlus)
// retorna true