Memcached

Saiba mais sobre o componente e como utilizá-lo.

O componente Memcached permite que você realize operações em servidores Memcached.

Memcached é um sistema de código aberto para armazenamento em cache de memória distribuída, que usa um modelo chave-valor na memória para armazenamento de dados. Para mais informações, veja o site oficial.

Parâmetros

Dê uma olhada nos parâmetros de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB).

Parâmetro
Descrição
Valor padrão
Tipo de dado

Account

Conta a ser usada para autenticação nos servidores. Contas suportadas: Basic.

N/A

String

Operation

Operação a ser executada.

As operações são: Get One, Get Many, Add, Set, Delete, Replace, Append, Prepend, Touch, Get And Touch e CAS (Check And Set).

Get One

String

Addresses (DB)

Host e port (HOST:PORT) dos servidores aos quais se conectar. Endereços múltiplos podem ser configurados como HOST1:PORT1, HOSTn:PORTn.

N/A

String

Key (DB)

Chave a ser armazenada ou recuperada.

N/A

String

Key Set (DB)

Conjunto de chaves a serem recuperadas. Essa opção fica disponível somente quando a operação Get Many é usada e espera uma matriz de strings contendo as chaves.

N/A

Matriz de strings

Expiration

Tempo (em segundos) que o dado deve ser mantido na base de dados antes de expirar. Se configurado com 0, o dado não vai expirar.

N/A

Inteiro

Value (DB)

Valor a ser armazenado.

N/A

String

Connect Timeout

Tempo máximo (em milissegundos) para conectar aos servidores Memcached.

30000

Inteiro

Operation Timeout

Tempo máximo (em milissegundos) para executar a operação Memcached.

30000

Inteiro

Advanced Settings

Se a opção estiver ativada, você pode acessar as seguintes configurações:

False

Booleano

Raw Mode

Quando ativada, irá considerar Value como dados brutos (não JSON) e irá armazená-los como estão. O conteúdo recuperado também será mostrado como uma string com um resultado bruto.

False

Booleano

Is Binary Result

Se ativada, irá tratar o resultado como um conteúdo binário e irá mostrar a saída como uma string Base64.

False

Booleano

Pool Size By Actual Consumers

Se ativada, o número de pooled connections será equivalente ao número de consumers configurados durante a implantação do pipeline. Se desativada, então o tamanho do pool é dado pelo tamanho da implantação do pipeline, independente do número de consumers.

False

Booleano

Fail On Error

Se a opção estiver ativada, a execução do pipeline com erro será interrompida. Do contrário, a execução do pipeline continua, mas o resultado irá mostrar um valor falso para a propriedade “success”.

False

Booleano

Exemplos de uso

Operações de recuperação

Get One

Recupera apenas 1 registro do servidor através da sua chave.

  • Account: <basic-account>

  • Addresses: localhost:11211

  • Operation: Get One

  • Key: id_A

Saída:

{
    "total": 1,
    "data": [
        {
        	"key": "id_A",
        	"value": <value>
        }
    ]
}

Get Many

Recupera qualquer número de registros do servidor através de um conjunto de chaves.

  • Account: <basic-account>

  • Address: localhost:11211

  • Operation: Get Many

  • Key Set:

[
	"id_A",
	"id_B",
	"id_C",
	"id_D"
]

Saída:

{
    "total": 4,
    "data": [
        {
        	"key": "id_A",
        	"value": <value>
        },
        {
        	"key": "id_B",
        	"value": <value>
        },
        {
        	"key": "id_C",
        	"value": <value>
        },
        {
        	"key": "id_D",
        	"value": <value>
        }
    ]
}

Operações de armazenamento

Add

Armazena um registro no servidor pela sua chave, tempo de expiração e valor, somente se ele ainda não existir.

  • Account: <basic-account>

  • Addresses: localhost:11211

  • Operation: Add

  • Key: id_A

  • Expiration: 3600

  • Value:

{
    "code": "A",
    "name": "John",
    "address": {
    	"street": "John's Street"
    },
    "number": [
    	"+5511999999999"
    ]
}

Saída:

{
    "success": true,   //false, se a chave já existir
    "command": "add"
}

Set

Armazena um registro no servidor pela sua chave, expiração e valor, substituindo-o caso já exista.

  • Account: <basic-account>

  • Addresses: localhost:11211

  • Operation: Set

  • Key: id_A

  • Expiration: 3600

  • Value:

{
    "code": "A",
    "name": "John",
    "address": {
    	"street": "John's Street"
    },
    "number": [
    	"+5511999999999"
    ]
}

Saída:

{
    "success": true,
    "command": "set"
}

Replace

Substitui o valor de um registro por sua chave, tempo de expiração e o novo valor, somente se o registro já existir.

  • Account: <basic-account>

  • Addresses: localhost:11211

  • Operation: Replace

  • Key: id_A

  • Expiration: 3600

  • Value:

{
    "code": "A",
    "name": "John",
    "address": {
    	"street": "John's Street"
    },
    "number": [
    	"+5511999999999"
    ]
}

Saída:

{
    "success": true,   //false, se a chave não existir
    "command": "replace"
}

Append

Acrescenta um novo valor ao final do valor existente de um registro através da sua chave e valor a ser acrescentado, somente se o registro já existir. Requer a ativação do parâmetro Raw Mode.

  • Account: <basic-account>

  • Addresses: localhost:11211

  • Operation: Append

  • Key: id_A

  • Expiration: 3600

  • Raw Mode: enabled

  • Value:

" - valor a ser acrescentado pelo append"

Saída:

{
    "success": true,   //false, se a chave não existir
    "command": "append"
}

Prepend

Acrescenta um novo valor ao início do valor existente de um registro através da sua chave e valor a ser acrescentado, somente se o registro já existir. Requer a ativação do parâmetro Raw Mode.

  • Account: <basic-account>

  • Addresses: localhost:11211

  • Operation: Prepend

  • Key: id_A

  • Expiration: 3600

  • Raw Mode: enabled

  • Value:

"valor a ser acrescentado pelo prepend - "

Saída:

{
    "success": true,   //false, se a chave não existir
    "command": "prepend"
}

CAS (Check And Set)

Atualiza o valor de um registro pelo sua chave, tempo de expiração e novo valor, somente se o registro já existir e se não tiver sido modificado durante a recuperação do registro. Essa operação é útil em ambientes com condiçoes de corrida (race conditions) na atualização dos dados de cache.

  • Account: <basic-account>

  • Addresses: localhost:11211

  • Operation: CAS (Check And Set)

  • Key: id_A

  • Expiration: 3600

  • Value:

{
    "code": "A",
    "name": "John",
    "address": {
    	"street": "John's Street"
    },
    "number": [
    	"+5511999999999"
    ]
}

Saída:

{
    "success": true,   //false, se a chave não existir
    "command": "cas"
}

Operações de remoção

Delete

Remove um registro do servidor através da sua chave.

  • Account: <basic-account>

  • Addresses: localhost:11211

  • Operation: Delete

  • Key: id_A

Saída:

{
    "success": true,    //false, se a chave não existir
    "command": "delete"
}

Operações de toque

Touch

Atualiza a expiração de um registro através da sua chave e um novo valor de expiração.

  • Account: <basic-account>

  • Addresses: localhost:11211

  • Operation: Touch

  • Key: id_A

  • Expiration: 3600

Saída:

{
    "success": true,    //false, se a chave não existir
    "command": "touch"
}

Get And Touch

Recupera apenas 1 registro do servidor através da sua chave enquanto atualiza seu valor de expiração.

  • Account: <basic-account>

  • Addresses: localhost:11211

  • Operation: Get And Touch

  • Key: id_A

  • Expiration: 3600

Saída:

{
    "total": 1,
    "data": [
        {
        	"key": "id_A",
        	"value": <value>
        }
    ]
}

Atualizado

Isto foi útil?