As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Suporte a memcached MySQL
O Amazon RDS oferece suporte ao uso da interface memcached
para tabelas do InnoDB introduzido no MySQL 5.6. A API memcached
permite que os aplicativos usem as tabelas do InnoDB de forma semelhante aos armazenamentos
de dados de chave/valor NoSQL.
A interface memcached
é um cache simples baseado em chave. Os aplicativos usam memcached
para inserir, manipular e recuperar pares de dados de valor/chave do cache. O MySQL
5.6 introduziu um plugin que implementa um serviço de daemon que expõe os dados das
tabelas do InnoDB através do protocolo memcached
. Para obter mais informações sobre o plug-in memcached
MySQL, consulte Integração do InnoDB com memcached
Para habilitar o suporte a memcached para uma instância do Amazon RDS do MySQL 5.6 ou posteriores
-
Determine o security group a ser usado para controlar o acesso à interface de
memcached
. Se o conjunto de aplicativos que já estão usando a interface SQL for o mesmo conjunto que acessará a interfacememcached
, você poderá usar o security group de VPC ou o security group de banco de dados existente usado pela interface SQL. Se um conjunto diferente de aplicativos acessar a interfacememcached
, defina um novo security group de VPC ou security group de banco de dados. Para obter mais informações sobre como gerenciar security groups, consulte Controlar acesso com grupos de segurança -
Crie um grupo de opções de banco de dados personalizado, selecionando MySQL como o tipo de mecanismo e a versão 5.6 ou posterior. Para obter mais informações sobre como criar um grupo de opções, consulte Criar um grupo de opções.
-
Adicione a opção
MEMCACHED
ao grupo de opções. Especifique a porta que a interfacememcached
usará e o security group a ser usado para controlar o acesso à interface. Para mais informações sobre a adição de opções, consulte Adicionar uma opção a um grupo de opções. -
Modifique as configurações de opções para configurar os parâmetros
memcached
, se necessário. Para mais informações sobre como modificar as configurações da opção, consulte Modificar uma configuração de opção. -
Aplique o grupo de opções a uma instância. O Amazon RDS habilita o suporte ao
memcached
para essa instância quando o grupo de opções for aplicado:-
Você habilita o suporte de
memcached
para uma nova instância especificando o grupo de opções personalizado ao executar a instância. Para obter mais informações sobre como executar uma instância MySQL, consulte Criar uma instância de banco de dados do Amazon RDS. -
Você habilita o suporte de
memcached
para uma instância existente especificando o grupo de opções personalizado ao modificar a instância. Para obter mais informações sobre a modificação de uma instância de banco de dados , consulte Modificar uma instância de banco de dados do Amazon RDS.
-
-
Especifique quais colunas em suas tabelas MySQL podem ser acessadas por meio da interface de
memcached
. O plug-inmemcached
cria uma tabela de catálogo chamadacontainers
em um banco de dados dedicado chamadoinnodb_memcache
. Você insere uma linha na tabelacontainers
para mapear uma tabela do InnoDB para acesso viamemcached
. Você especifica uma coluna na tabela do InnoDB que é usada para armazenar os valores das chaves domemcached
e uma ou mais colunas que são usadas para armazenar os valores de dados associados à chave. Você também especifica um nome que um aplicativomemcached
usa para se referir a esse conjunto de colunas. Para obter detalhes sobre como inserir linhas na tabelacontainers
, consulte Elementos internos do plug-in memcached do InnoDB. Para obter um exemplo de mapeamento de uma tabela do InnoDB e acessá-la por meio de memcached
, consulte Writing applications for the InnoDB memcached plugin. -
Se os aplicativos que acessarem a interface
memcached
estiverem em computadores ou instâncias do EC2 diferentes dos aplicativos que usam a interface SQL, adicione as informações de conexão desses computadores ao security group de banco de dados ou VPC associado à instância MySQL. Para obter mais informações sobre como gerenciar security groups, consulte Controlar acesso com grupos de segurança.
Você desliga o suporte memcached
para uma instância modificando essa instância e especificando o grupo de opções padrão
para sua versão do MySQL. Para obter mais informações sobre a modificação de uma instância
de banco de dados , consulte Modificar uma instância de banco de dados do Amazon RDS.
Considerações sobre segurança do MySQL memcached
O protocolo memcached
não oferece suporte para a autenticação do usuário. Para obter mais informações sobre
as considerações de segurança do MySQL memcached
, consulte Implantação do memcached
Você pode realizar as seguintes ações para ajudar a aumentar a segurança da interface
memcached
:
-
Especifique uma porta diferente do padrão de 11211 ao adicionar a opção
MEMCACHED
ao grupo de opções. -
Certifique-se de associar a interface
memcached
com um security group de VPC ou um security group de banco de dados que limite o acesso a endereços de clientes conhecidos ou confiáveis ou a instâncias do EC2. Para obter mais informações sobre como gerenciar security groups, consulte Controlar acesso com grupos de segurança.
Informações sobre conexão com MySQL memcached
Para acessar a interface memcached
, um aplicativo deve especificar o nome DNS da instância do Amazon RDS e o número
da porta memcached
. Por exemplo, se uma instância tiver um nome DNS my-cache-instance.cg034hpkmmjt.region.rds.amazonaws.com
e a interface memcached estiver usando a porta 11212, as informações de conexão especificadas
no PHP serão:
<?php $cache = new Memcache; $cache->connect('my-cache-instance.cg034hpkmmjt.region.rds.amazonaws.com',11212); ?>
Para encontrar o nome DNS e a porta memcached de uma instância MySQL do Amazon RDS
-
Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
No canto superior direito do Console de gerenciamento da AWS, selecione a região que contém a instância de banco de dados.
-
No painel de navegação, escolha Databases (Bancos de dados).
-
Escolha o nome da instância de banco de dados MySQL para exibir os detalhes.
-
Na seção Connect (Conectar), anote o valor do campo Endpoint. O nome do DNS é o mesmo que o do endpoint. Além disso, observe que a porta na seção Connect (Conectar) não é usada para acessar a interface
memcached
. -
Na seção Details (Detalhes), anote o nome listado no campo Option Group (Grupo de opções).
-
No painel de navegação, escolha Option groups (Grupos de opções).
-
Escolha o nome do grupo de opções usado pela instância de banco de dados MySQL para mostrar os detalhes do grupo de opções. Na seção Options (Opções), anote o valor da configuração de Port (Porta) na opção MEMCACHED.
Configurações de opções de MySQL memcached
O Amazon RDS expõe os parâmetros memcached
do MySQL como configurações de opções na opção MEMCACHED
do Amazon RDS.
Parâmetros de MySQL memcached
-
DAEMON_MEMCACHED_R_BATCH_SIZE
– um inteiro que especifica quantas operações de leituramemcached
devem ser realizadas antes de fazer um COMMIT para iniciar uma nova transação. Os valores permitidos são de 1 a 4294967295; o padrão é 1. A opção não terá efeito até que a instância seja reiniciada. -
DAEMON_MEMCACHED_W_BATCH_SIZE
– um inteiro que especifica quantas operações de gravaçãomemcached
, como adicionar, definir ou aumentar, devem ser realizadas antes de fazer um COMMIT para iniciar uma nova transação. Os valores permitidos são de 1 a 4294967295; o padrão é 1. A opção não terá efeito até que a instância seja reiniciada. -
INNODB_API_BK_COMMIT_INTERVAL
– um inteiro que especifica com que frequência as conexões inativas de confirmação automática usam a interfacememcached
do InnoDB. Os valores permitidos são de 1 a 1073741824; o padrão é 5. A opção entra em vigor imediatamente, sem exigir que você reinicie a instância. -
INNODB_API_DISABLE_ROWLOCK
– um booliano que desabilita (1 (true)) ou habilita (0 (false)) o uso de bloqueios de linha ao usar a interfacememcached
do InnoDB. O padrão é 0 (false). A opção não terá efeito até que a instância seja reiniciada. -
INNODB_API_ENABLE_MDL
– um booliano que, quando definido como 0 (false), bloqueia a tabela usada pelo plug-inmemcached
do InnoDB, de modo que ela não possa ser descartada ou alterado pela DDL por meio da interface SQL. O padrão é 0 (false). A opção não terá efeito até que a instância seja reiniciada. -
INNODB_API_TRX_LEVEL
– um número inteiro que especifica o nível de isolamento da transação para consultas processadas pela interfacememcached
. Os valores permitidos são de 0 a 3. O padrão é 0. A opção não terá efeito até que a instância seja reiniciada.
O Amazon RDS configura esses parâmetros memcached
MySQL, e eles não podem ser modificados: DAEMON_MEMCACHED_LIB_NAME
, DAEMON_MEMCACHED_LIB_PATH
e INNODB_API_ENABLE_BINLOG
. Os parâmetros que os administradores MySQL definem usando daemon_memcached_options
estão disponíveis como configurações da opção MEMCACHED
individuais no Amazon RDS.
Parâmetros daemon_memcached_options MySQL
-
BINDING_PROTOCOL
– uma string que especifica o protocolo de associação a ser usado. Os valores permitidos sãoauto
,ascii
oubinary
. O padrão éauto
, o que significa que o servidor negocia automaticamente o protocolo com o cliente. A opção não terá efeito até que a instância seja reiniciada. -
BACKLOG_QUEUE_LIMIT
– um número inteiro que especifica quantas conexões de rede podem estar aguardando para serem processadas pormemcached
. Aumentar esse limite pode reduzir os erros recebidos por um cliente que não seja capaz de se conectar à instânciamemcached
, mas não melhora o desempenho do servidor. Os valores permitidos são de 1 a 2048; o padrão é 1024. A opção não terá efeito até que a instância seja reiniciada. -
CAS_DISABLED
– um booliano que permite (1 (true)) ou desabilite (0 (false)) o uso do recurso de comparação e permuta (CAS), o que reduz o tamanho por item em 8 bytes. O padrão é 0 (false). A opção não terá efeito até que a instância seja reiniciada. -
CHUNK_SIZE
– um número inteiro que especifica o tamanho mínimo do bloco, em bytes, para alocar a chave, o valor e os sinalizadores do menor item. Os valores permitidos são de 1 a 48. O padrão é 48 e você pode melhorar significativamente a eficiência da memória com um valor menor. A opção não terá efeito até que a instância seja reiniciada. -
CHUNK_SIZE_GROWTH_FACTOR
– um flutuante que controla o tamanho de novos blocos. O tamanho de um novo bloco é o tamanho do bloco anterior vezesCHUNK_SIZE_GROWTH_FACTOR
. Os valores permitidos são de 1 a 2; o padrão é 1.25. A opção não terá efeito até que a instância seja reiniciada. -
ERROR_ON_MEMORY_EXHAUSTED
– um booliano, quando definido como 1 (true), especifica quememcached
retornará um erro ao invés de despejar itens quando não houver mais memória para armazenar itens. Se definido como 0 (false),memcached
expulsará itens se não houver mais memória. O padrão é 0 (false). A opção não terá efeito até que a instância seja reiniciada. -
MAX_SIMULTANEOUS_CONNECTIONS
– um inteiro que especifica o número máximo de conexões simultâneas. Definir esse valor como qualquer coisa abaixo de 10 impede que o MySQL seja iniciado. Os valores permitidos são de 10 a 1024; o padrão é 1024. A opção não terá efeito até que a instância seja reiniciada. -
VERBOSITY
– uma string que especifica o nível de informações registradas no log de erros do MySQL pelo serviçomemcached
. O padrão é v. A opção não terá efeito até que a instância seja reiniciada. Os valores permitidos são:-
v
– registra erros e avisos durante a execução do loop de eventos principal. -
vv
– Além das informações registradas por v, também registra cada comando do cliente e a resposta. -
vvv
– Além das informações registradas por vv, também registra transições de estado internas.
-
O Amazon RDS configura esses parâmetros DAEMON_MEMCACHED_OPTIONS
MySQL, eles não podem ser modificados: DAEMON_PROCESS
, LARGE_MEMORY_PAGES
, MAXIMUM_CORE_FILE_LIMIT
, MAX_ITEM_SIZE
, LOCK_DOWN_PAGE_MEMORY
, MASK
, IDFILE
, REQUESTS_PER_EVENT
, SOCKET
e USER
.