memcached
DESCRIPTION
Una breve introduzione a memecachedTRANSCRIPT
- 1. Memecached @ Codelovers Flavio Castelli
2. Cosa e'
- Key/value store
3. Memorizza tutto in RAM 4. Forgetting data is a feature 5. No persistent storage 6. Cosa non e'
- Database
7. Http accelerator 8. Architettura
- Diviso in due parti:
-
- server
- 9. client
Importante:intelligenza divisa tra client e server. 10. Server
- Memorizza le coppie chiave/valore in una hash table interna
11. Cancella i dati memorizzati quando:
-
- Viene raggiunta la scadenza impostata dall'utente
- 12. Esaurisce la memoria a disposizione
Non e' al corrente degli altri server:
- Non parla con loro
13. Non c'e' sincronizzazione 14. Non ci sono messaggi in broadcast Non e' consapevole di cio' che viene memorizzato. 15. Client
- Disponibili per i principali linguaggi di programmazione
16. Ha la lista di tutti i server 17. Sceglie ogni volta il server su cui memorizzare i dati 18. Sa cosa fare quando un server non e' raggiungibile 19. Si preoccupa di serializzare i valori da memorizzare 20. Sa come recuperare i dati 21. Usi tipici
- Caching risultati delle query lente
22. Fragmented caching 23. Altro, dato che puo' memorizzare:
-
- Numeri
- 24. Stringhe
25. Liste 26. Dizionari 27. Oggetti 28. Come scalare
- Aggiungere un nuovo server
29. Aggiornare la lista dei sever lato client 30. => Memoria totale = SUM(memoria singoli server) 31. Shit happens Cosa succede se uno o piu' server cadono?
- => Diminuzione temporanea delle hit
32. Limiti
- Dimensione massima chiave: 250 Bytes
33. Dimensione massimavalue: 1 Megabyte 34. Max expire time: 30 giorni 35. Modificare la lista dei server puo' invalidare tutta la cache 36. SUSE Studio
- Ruby on Rails
37. 191000+ utenti 38. ~670 build giornaliere 39. 3 application server 40. 4 istanze di memcached (limitate ad 1GB per istanza) 41. Domande 42. Riferimenti
- memcached:http://code.google.com/p/memcached/
43. Using memcached: How to scale your website easily by Josef Finsted The pragmatic Bookshelf