@moblybr/memcached-client
v1.2.0
Published
Este pacote serve para fazer gestão do memcached .
Downloads
28
Keywords
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