Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Supporto per memcached MySQL

Modalità Focus
Supporto per memcached MySQL - Amazon Relational Database Service

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à.

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
  1. 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'interfaccia memcached, è possibile utilizzare lo stesso gruppo di sicurezza VPC utilizzato dall'interfaccia SQL. Se il set di applicazioni che accederà all'interfaccia memcached è 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

  2. 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.

  3. Aggiungere l'opzione MEMCACHED al gruppo di opzioni. Specificare la porta di memcached 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.

  4. 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.

  5. 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.

  6. Specificare a quali colonne delle tabelle MySQL è possibile accedere attraverso l'interfaccia memcached. Il plugin memcached crea una tabella catalogo chiamata containers all'interno di un database dedicato denominato innodb_memcache. Inserire una riga nella tabella containers per mappare una tabella InnoDB per l'accesso tramite memcached. Specificare una colonna della tabella InnoDB utilizzata per archiviare i valori della chiave memcached e una o più colonne utilizzate per archiviare i valori dei dati associati alla chiave. Specificare anche il nome utilizzato da un'applicazione memcached per fare riferimento a quel set di colonne. Per i dettagli su come inserire righe nella tabella containers, 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.

  7. Se le applicazioni che accedono all'memcachedinterfaccia 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 nella documentazione di MySQL.

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'memcachedinterfaccia 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
  1. Accedi a AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nell'angolo in alto a destra di AWS Management Console, seleziona la regione che contiene l'istanza DB.

  3. Nel riquadro di navigazione, scegli Databases (Database).

  4. Scegliere il nome dell'istanza database MySQL per visualizzarne i dettagli.

  5. 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.

  6. Nella sezione Details (Dettagli), prendere nota del nome elencato nel campo Option Group (Gruppo di opzioni).

  7. Nel riquadro di navigazione scegliere Option groups (Gruppi di opzioni).

  8. 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) di memcached è 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 di memcached, 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'interfaccia memcached 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'interfaccia memcached 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 plugin memcached 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'interfaccia memcached. 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 sono auto, ascii o binary. 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 di memcached. L'aumento di questo limite potrebbe ridurre gli errori ricevuti da un client che non riesce a effettuare la connessione all'istanza memcached, 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 per CHUNK_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 che memcached 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 servizio memcached 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.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.