Caching

Pozdralvljeni,

zanima me, kako rešujete caching na straneh z veliko obiska... na Wordpress sistemih sedaj sicer uporabljam vtičnik (Wp Superfast cache), ki deluje super. Težava nastane, ker bi vseeno rad, da se na nekaterih sekcijah strani cache na zabeleži v celoti (npr. prikaz objav v random vrstnem redu).

Tudi recimo, če imam stran z prijavljenimi uporabniki, kjer ima user svoj profil, v headerju podatke ipd... kako to cachirat?

Lp,

12 odgovorov

Ponavadi z varnishom pred strežnikiom, ki skrbi za to.

1

LiteSpeed + cache v večini primerov. Imamo pa tudi pozitivne izkušnje z Varnish kot je predlagal OvcaX.

Varnish poskrbi za caching delov strani ter portalov kot so WordPress? To pa prvič slišim. Vedno sem si predstavljal da je Varnish le cache za statične zadeve (celotne HTML, JS, CSS, Slike, ipd...). Avtor teme je še celo povedal da ima Superfast cache, ki že tako ali tako shranjuje celotne WP strani... Zanimivo vsak dan nekaj novega ^^.

Kako pa se to v Varnish-u izvede, če lahko vprašam?

2

Heh Varnish bo poskrbel za celoten cache, v bistvu če želiš dinamiko ti tudi Superfast cache ne reši zadeve, ker bo moral zahtevati novo verzijo. Mogoče kak AJAX plugin za random članke, da ti vsaj ostalo statično vsebino servira iz cacha.

V teoriji je tako

Varnishu poves kaj se cacha in kaj ne.
Nato mora pa aplikacija, ob spremembi poslati varnushu PURGE request, da varnish ve, da se je nekaj spremenilo.

Varnish je drugace server, ki je pred dejanskim web serverjem. Ponavadi na ločenem serverju.

Ce rabis implementacijo imamo kar nekaj izkusenj s tem.

1

Kaj pa recimo redis? Sam ga uporabljam na WP (VPS) in je zelooo pohitril zadeve...

Lp

1

Redis je key value storage in ne cachira responsov - skratka gre za dve različni stvari.

Ok, misem govoril direktno o responsih, a vseeno, redis nis samo key-value storage...

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.

(redis.io)

In tole:
stackoverflow.com/questions/10137857/is-redis-just-a-cache.

Lp

Redis je v uporabi namesto file cacha na datasistemu

Predvsem se redis uporablja pri tem, če imaš več serverjev za strežbo weba in potem seje ter cache delaš preko redisa in imaš sejo čez xxx serverjev.

Mi uporabljamo varnish + memcache.

Tako kot je OvcaX napisal posles purge req. in pobrises ce zelis osvezit.
Obstaja pa tudi delni cache v varnishu. Imenuje se ESI (edge side includes). Potrebno je pa kar spremenit spletno stran, da deluje s tem.

Je pa res, da so nase strani precej "staticne". Varnish hit rate je cca 98%.