Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Amazon RDS supporta l'uso dell'interfaccia memcached
in tabelle InnoDB, introdotta in MySQL 5.6. L'API memcached
permette alle applicazioni di usare tabelle InnoDB in modo simile ai datastore di coppie chiave/valore NoSQL.
Nota
L'interfaccia memcached non è più disponibile in MySQL 8.4. Quando aggiorni le tue istanze DB a MySQL 8.4, devi memcached
disabilitarle nei gruppi di opzioni esistenti.
L'interfaccia memcached
è una cache semplice basata su chiave. Le applicazioni utilizzano memcached
per inserire, manipolare e recuperare dalla cache coppie di dati a chiave-valore. MySQL 5.6 ha introdotto un plugin che implementa un servizio daemon che espone dati di tabelle InnoDB attraverso il protocollo memcached
. Per ulteriori informazioni sul plugin memcached
MySQL, consulta InnoDB Integration with memcached
Per abilitare il supporto per memcached per un'istanza database RDS per MySQL
-
Determinare il gruppo di sicurezza da utilizzare per controllare l'accesso all'interfaccia
memcached
. Se il set di applicazioni che sta già utilizzando l'interfaccia SQL è lo stesso che accederà all'interfacciamemcached
, è possibile utilizzare lo stesso gruppo di sicurezza VPC utilizzato dall'interfaccia SQL. Se il set di applicazioni che accederà all'interfacciamemcached
è diverso, definire un nuovo gruppo di sicurezza VPC o DB. Per ulteriori informazioni sulla gestione dei gruppi di sicurezza, consulta Controllo dell'accesso con i gruppi di sicurezza -
Creare un gruppo di opzioni di database personalizzato, selezionando MySQL come tipo di motore e versione. Per ulteriori informazioni sulla creazione di un gruppo di opzioni, consulta Creazione di un gruppo di opzioni.
-
Aggiungere l'opzione
MEMCACHED
al gruppo di opzioni. Specificare la porta dimemcached
che l'interfaccia utilizzerà e il gruppo di sicurezza da utilizzare per il controllo dell'accesso all'interfaccia. Per ulteriori informazioni sull'aggiunta di opzioni, consulta Aggiunta di un'opzione a un gruppo di opzioni. -
Se necessario, modificare le impostazioni di opzione per configurare i parametri di
memcached
. Per ulteriori informazioni su come modificare le impostazioni dell'opzione, consulta Modifica di un'impostazione di un'opzione. -
Applica il gruppo di opzioni a un'istanza. Amazon RDS abilita il supporto di
memcached
per l'istanza quando viene applicato il gruppo di opzioni:Il supporto
memcached
per una nuova istanza viene abilitato specificando il gruppo di opzioni personalizzato quando viene avviata l'istanza. Per ulteriori informazioni sul lancio di un'istanza MySQL, consulta Creazione di un'istanza Amazon RDS DB.Il supporto
memcached
per un'istanza esistente viene abilitato specificando il gruppo di opzioni personalizzato quando si modifica l'istanza. Per ulteriori informazioni sulla modifica di un'istanza database , consulta Modifica di un'istanza Amazon RDS DB.
-
Specificare a quali colonne delle tabelle MySQL è possibile accedere attraverso l'interfaccia
memcached
. Il pluginmemcached
crea una tabella catalogo chiamatacontainers
all'interno di un database dedicato denominatoinnodb_memcache
. Inserire una riga nella tabellacontainers
per mappare una tabella InnoDB per l'accesso tramitememcached
. Specificare una colonna della tabella InnoDB utilizzata per archiviare i valori della chiavememcached
e una o più colonne utilizzate per archiviare i valori dei dati associati alla chiave. Specificare anche il nome utilizzato da un'applicazionememcached
per fare riferimento a quel set di colonne. Per i dettagli su come inserire righe nella tabellacontainers
, consulta InnoDB memcached Plugin Internals. Per un esempio di mappatura di una tabella InnoDB e di accesso ad essa tramite memcached
, consulta Writing Applications for the InnoDB memcached Plugin. -
Se le applicazioni che accedono all'
memcached
interfaccia si trovano su computer o EC2 istanze diversi rispetto alle applicazioni che utilizzano l'interfaccia SQL, aggiungi le informazioni di connessione per tali computer al gruppo di sicurezza VPC associato all'istanza MySQL. Per ulteriori informazioni sulla gestione dei gruppi di sicurezza, consulta Controllo dell'accesso con i gruppi di sicurezza.
Disabilitare il supporto memcached
per un'istanza modificandola e specificando il gruppo di opzioni predefinite per la versione di MySQL. Per ulteriori informazioni sulla modifica di un'istanza database , consulta Modifica di un'istanza Amazon RDS DB.
Considerazioni di sicurezza per memcached di MySQL
Il protocollo memcached
non supporta l'autenticazione degli utenti. Per ulteriori informazioni sulle considerazioni sulla sicurezza di MySQL memcached
, consulta Considerazioni di sicurezza per il plugin memcached InnoDB
Per migliorare la sicurezza dell'interfaccia memcached
, è possibile adottare le seguenti misure:
Quando aggiungi l'opzione
MEMCACHED
al gruppo di opzioni, specifica una porta diversa dalla porta 11211 predefinita.Assicurati di associare l'
memcached
interfaccia a un gruppo di sicurezza VPC che limiti l'accesso a indirizzi e istanze client noti e EC2 affidabili. Per ulteriori informazioni sulla gestione dei gruppi di sicurezza, consulta Controllo dell'accesso con i gruppi di sicurezza.
Informazioni sulla connessione di memcached a MySQL
Per accedere all'interfaccia memcached
, un'applicazione deve specificare sia il nome DNS sia l'istanza Amazon RDS e il numero di porta di memcached
. Ad esempio, se il nome DNS di un'istanza è my-cache-instance.cg034hpkmmjt.region.rds.amazonaws.com
e l'interfaccia memcached sta usando la porta 11212, le informazioni di connessione specificate in PHP saranno:
<?php
$cache = new Memcache;
$cache->connect('my-cache-instance.cg034hpkmmjt.region.rds.amazonaws.com',11212);
?>
Per trovare il nome DNS e la porta di memcached di un'istanza database MySQL
Accedi a AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/
. Nell'angolo in alto a destra di AWS Management Console, seleziona la regione che contiene l'istanza DB.
Nel riquadro di navigazione, scegli Databases (Database).
Scegliere il nome dell'istanza database MySQL per visualizzarne i dettagli.
Nella sezione Connect (Connessione), prendere nota del valore del campo Endpoint. Il nome DNS è lo stesso dell'endpoint. Inoltre, tenere presente che la porta nella sezione Connect (Connessione) non si utilizza per accedere all'interfaccia
memcached
.Nella sezione Details (Dettagli), prendere nota del nome elencato nel campo Option Group (Gruppo di opzioni).
Nel riquadro di navigazione scegliere Option groups (Gruppi di opzioni).
Scegliere il nome del gruppo di opzioni utilizzato dall'istanza database MySQL per visualizzare i dettagli del gruppo di opzioni. Nella sezione Options (Opzioni), prendere nota del valore dell'impostazione Port (Porta) per l'opzione MEMCACHED.
Impostazioni dell'opzione memcached di MySQL
Amazon RDS espone i parametri memcached
di MySQL come impostazioni di opzione nell'opzione MEMCACHED
di Amazon RDS.
Parametri di memcached di MySQL
DAEMON_MEMCACHED_R_BATCH_SIZE
: un valore intero che specifica quante operazioni di lettura (get) dimemcached
è necessario eseguire prima di effettuare un COMMIT per iniziare una nuova transazione. I valori validi sono compresi tra 1 e 4294967295; il valore predefinito è 1. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.DAEMON_MEMCACHED_W_BATCH_SIZE
: un valore intero che specifica quante operazioni di scrittura dimemcached
, come add, set o incr, è necessario eseguire prima di effettuare un COMMIT per iniziare una nuova transazione. I valori validi sono compresi tra 1 e 4294967295; il valore predefinito è 1. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.INNODB_API_BK_COMMIT_INTERVAL
: un valore intero che specifica con quanta frequenza effettuare auto-commit delle connessioni inattive che utilizzano l'interfacciamemcached
di InnoDB. I valori validi sono compresi tra 1 e 1073741824; il valore predefinito è 5. L'opzione ha effetto immediato senza necessità di riavviare l'istanza.INNODB_API_DISABLE_ROWLOCK
: un valore booleano che disabilita (1 (true)) o abilita (0 (false)) l'utilizzo di blocchi di riga quando si utilizza l'interfacciamemcached
di InnoDB. Il valore predefinito è 0 (false). L'opzione non ha effetto fino a quando l'istanza non viene riavviata.INNODB_API_ENABLE_MDL
: un valore booleano che quando impostato su 0 (false) blocca la tabella utilizzata dal pluginmemcached
di InnoDB, in modo che non possa essere eliminata o modificata da DDL attraverso l'interfaccia SQL. Il valore predefinito è 0 (false). L'opzione non ha effetto fino a quando l'istanza non viene riavviata.INNODB_API_TRX_LEVEL
: un valore intero che specifica il livello di isolamento della transazione per query elaborate dall'interfacciamemcached
. I valori consentiti sono da 0 a 3. Il valore predefinito è 0. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.
Amazon RDS configura questi parametri memcached
di MySQL, che non possono essere modificati: DAEMON_MEMCACHED_LIB_NAME
, DAEMON_MEMCACHED_LIB_PATH
e INNODB_API_ENABLE_BINLOG
. I parametri impostati dagli amministratori di MySQL tramite daemon_memcached_options
sono disponibili come singole impostazioni dell'opzione MEMCACHED
in Amazon RDS.
Parametri daemon_memcached_options di MySQL
BINDING_PROTOCOL
: una stringa che specifica il protocollo binding da utilizzare. I valori consentiti sonoauto
,ascii
obinary
. Quello predefinito èauto
, vale a dire che il server negozia automaticamente il protocollo con il client. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.BACKLOG_QUEUE_LIMIT
– un valore intero che specifica quante connessioni di rete possono essere in attesa di elaborazione da parte dimemcached
. L'aumento di questo limite potrebbe ridurre gli errori ricevuti da un client che non riesce a effettuare la connessione all'istanzamemcached
, ma non migliora le prestazioni del server. I valori validi sono compresi tra 1 e 2048; il valore predefinito è 1024. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.CAS_DISABLED
: un valore booleano che abilita (1 (true)) o disabilita (0 (false)) l'utilizzo di compare and swap (CAS), che riduce di 8 byte le dimensioni per voce. Il valore predefinito è 0 (false). L'opzione non ha effetto fino a quando l'istanza non viene riavviata.CHUNK_SIZE
: un valore intero che specifica le dimensioni minime (in byte) del blocco da allocare per chiave, valore e flag della voce più piccola. I valori consentiti sono da 1 a 48. Quello predefinito è 48, ma è possibile migliorare notevolmente l'efficienza della memoria con un valore inferiore. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.CHUNK_SIZE_GROWTH_FACTOR
: un valore float che controlla le dimensioni dei nuovi blocchi. Le dimensioni di un nuovo blocco sono le dimensioni del blocco precedente moltiplicato perCHUNK_SIZE_GROWTH_FACTOR
. I valori validi sono compresi tra 1 e 2; il valore predefinito è 1,25. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.ERROR_ON_MEMORY_EXHAUSTED
: un valore booleano che, quando è impostato su 1 (true), specifica chememcached
restituirà un errore anziché eliminare voci quando si esaurisce la memoria per archiviarle. Se impostato su 0 (false),memcached
eliminerà elementi se la memoria è esaurita. Il valore predefinito è 0 (false). L'opzione non ha effetto fino a quando l'istanza non viene riavviata.MAX_SIMULTANEOUS_CONNECTIONS
: un valore intero che specifica il numero massimo di connessioni simultanee. Impostare questo valore al di sotto di 10 impedisce l'avvio di MySQL. I valori validi sono compresi tra 10 e 1024; il valore predefinito è 1024. L'opzione non ha effetto fino a quando l'istanza non viene riavviata.VERBOSITY
: una stringa che specifica il livello di informazioni registrate dal serviziomemcached
nel log degli errori di MySQL. Il valore predefinito è v. L'opzione non ha effetto fino a quando l'istanza non viene riavviata. I valori consentiti sono:v
– Avvisi ed errori dei log durante l'esecuzione del loop eventi principale.vv
: oltre alle informazioni registrate da v, registra anche ogni comando del client e la risposta.vvv
: oltre alle informazioni registrate da vv, registra anche le transizioni dello stato interno.
Amazon RDS configura questi parametri DAEMON_MEMCACHED_OPTIONS
di MySQL, che non possono essere modificati: DAEMON_PROCESS
, LARGE_MEMORY_PAGES
, MAXIMUM_CORE_FILE_LIMIT
, MAX_ITEM_SIZE
, LOCK_DOWN_PAGE_MEMORY
, MASK
, IDFILE
, REQUESTS_PER_EVENT
, SOCKET
e USER
.