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 | 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 | Chave a ser armazenada ou recuperada. | N/A | String |
Key Set | 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 | 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 |
Importante: ao usar vários servidores, a mesma credencial Basic deve ser usada em todos os servidores.
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:
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:
Saída:
Importante: ao recuperar dados de um servidor Memcached, o componente pode manipular somente objetos serializáveis Java e sempre irá tentar gerá-los em formato JSON ou na sua representação de string. Caso o valor recuperado não possa ser analisado nesses formatos, uma exceção (Exception) pode ser lançada.
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:
Saída:
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:
Saída:
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:
Saída:
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:
Saída:
Importante: uma vez que a operação Append acrescenta novos dados aos existentes sem recuperá-los, não é possível simplesmente fazer o append de estruturas de dados complexos, como objetos JSON. Portanto, os dados existentes também devem ter sido armazenados como dados brutos, e o parâmetro Raw Mode deve ser ativado para essa operação.
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:
Saída:
Importante: uma vez que a operação Prepend acrescenta novos dados aos existentes sem recuperá-los, não é possível simplesmente fazer o prepend de estruturas de dados complexos, como objetos JSON. Portanto, os dados existentes também devem ter sido armazenados como dados brutos, e o parâmetro Raw Mode deve ser ativado para essa operação.
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:
Saída:
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:
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:
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:
Importante: ao recuperar dados de um servidor Memcached, o componente pode manipular somente objetos serializáveis Java e sempre irá tentar gerá-los em formato JSON ou na sua representação de string. Caso o valor recuperado não possa ser analisado nesses formatos, uma exceção (Exception) pode ser lançada.
Atualizado