Domanda

Stiamo usando i modelli Smarty sul nostro sito LAMP, ma la mia domanda si applicherebbe anche a un sito che esegue Memcached (che stiamo pianificando di portare anche online). Molte delle pagine del nostro sito generato dagli utenti hanno viste diverse a seconda di chi le sta guardando. Ad esempio, un elenco di commenti in cui sono evidenziati i tuoi commenti. Dovrebbe esserci un ID cache univoco per ogni utente che ha effettuato l'accesso per questa vista specifica. La mia domanda è, in questo scenario, non memorizzeresti nemmeno queste viste nella cache? Oppure l'overhead nella creazione / utilizzo della cache (sia per smarty o memcached), è abbastanza basso da vedere ancora qualche vantaggio per la cache?

È stato utile?

Soluzione

A meno che singoli utenti non richiedano le pagine più e più volte, non ha senso memorizzare nella cache questo tipo di cose e mi aspetto che il sovraccarico della memorizzazione nella cache superi di gran lunga i vantaggi in termini di prestazioni, semplicemente perché il tasso di accessi alla cache sarà scarso.

Potrebbe essere meglio cercare nella cache frammenti del tuo sito che non dipendono dal singolo utente o frammenti che saranno gli stessi per un gran numero di impressioni sulla pagina (ad es. contenuto uguale per un ampio sottoinsieme di i tuoi utenti).

Ad esempio, in questa pagina potresti voler memorizzare nella cache l'elenco delle domande correlate, o le informazioni sui tag, ma probabilmente non ha molto senso memorizzare nella cache la barra superiore con le informazioni sulla reputazione in modo troppo aggressivo, poiché verrà richiesto relativamente di rado.

Altri suggerimenti

Se il codice della vista non è troppo complicato, basta memorizzare nella cache i dati e generare la vista ogni volta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top