Gå til innhold

Webkafeen


Anbefalte innlegg

Videoannonse
Annonse
Eit veldig enkelt eksempel er jo ei side kor det er fleire writes enn reads.

 

Den fordelaktige versjonen ser noko slikt ut:


  •  
  • Skriv
     
  • Lagre i databasa og cache-ordninga
     
  • Les
     
  • Les x 1000
     

Eit eksempel kor caching ikkje er ideelt:


  •  
  • Skriv
     
  • Lagre i databasa og cache-ordninga
     
  • Skriv
     
  • Lagre i databasa og cache-ordninga
     
  • Skriv
     
  • Lagre i databasa og cache-ordninga
     
  • Les
     

For kvar lagring i cache-ordninga må du slette den allereie eksisterande nøkkelen og legge den til på nytt. Ikkje fordelaktig. :)

9478532[/snapback]

Spørs hva slags cache-ordning du har. Det første eksemplet passer perfekt til side-caching (hver side lagres på disk), mens den andre passer vel bedre til memcached?

Lenke til kommentar

I den siste passar ikkje caching inn i det heile tatt, sånn egentlig. :)

Om du er i ein situasjon kor det er meir skriving enn lesing kan caching droppast, generelt sett.

Har Rails ein grei måte å gjere cache-invalidering på, forresten? I såfall, korleis gjerast det?

Endret av Henrik Lied
Lenke til kommentar

Tor skriv eit innlegg til bloggen sin. Når han trykker "Lagre", blir dette satt inn i databasen, og ein nøkkel blir lagt til i cache-backenden med ein timeout på 50000 sekunder.

Tor finn så ut at innlegget inneholdt ein feil. Han retter feilen, og trykker på "Lagre". Om du ikkje hadde invalidert den aktuelle cache-nøkkelen hadde folk fått den gamle versjonen av innlegget heilt til nøkkelen hadde blitt pusha ut pga. timeout.

Om ein invaliderer nøkkelen blir den gamle sletta og oppdatert med det nye innhaldet. :)

 

Det er ganske vanleg å gjere dette manuelt, men eg syns eg høyrte at dei prata om at Rails hadde ein automatisert metode å gjere dette på (RoR podcasten, lenge sidan). Har du kjennskap til dette?

Endret av Henrik Lied
Lenke til kommentar
Tor skriv eit innlegg til bloggen sin. Når han trykker "Lagre", blir dette satt inn i databasen, og ein nøkkel blir lagt til i cache-backenden med ein timeout på 50000 sekunder.

Tor finn så ut at innlegget inneholdt ein feil. Han retter feilen, og trykker på "Lagre". Om du ikkje hadde invalidert den aktuelle cache-nøkkelen hadde folk fått den gamle versjonen av innlegget heilt til nøkkelen hadde blitt pusha ut pga. timeout.

Om ein invaliderer nøkkelen blir den gamle sletta og oppdatert med det nye innhaldet. :)

 

Det er ganske vanleg å gjere dette manuelt, men eg syns eg høyrte at dei prata om at Rails hadde ein automatisert metode å gjere dette på (RoR podcasten, lenge sidan). Har du kjennskap til dette?

9479091[/snapback]

Synes dere ikke at det er mye artigere å skrive løsninger til sånne problemer selv? :)

 

btw, nå har jeg bestilt riktig thinkpad x61 tablet! :D

Endret av MC2
Lenke til kommentar

Noen som vet om en bra plugin til wordpress(eller eventuelt movable type) som kan vise en slags kallender som sier f.eks:

 

1. Sep - 5. Sep Er jeg i Finland.

5. Sep - 10. Sep er jeg i Norge.

 

Altså slik at man lett og fint kan se hvor personen er når, også fram i tid.

Litt dårlig forklart kanskje.

Endret av Gakkakk
Lenke til kommentar
Noen som vet om en bra plugin til wordpress(eller eventuelt movable type) som kan vise en slags kallender som sier f.eks:

 

1. Sep - 5. Sep Er jeg i Finland.

5. Sep - 10. Sep er jeg i Norge.

 

Altså slik at man lett og fint kan se hvor personen er når, også fram i tid.

Litt dårlig forklart kanskje.

9480833[/snapback]

 

Lurer på det samme faktisk. Har en bror som skal reise rundt i verden i et halvt år nå, skal innom rundt 15 land.

Lenke til kommentar

Skulle gjerne ha stylet noen listepunkter med linker, men av en eller annen grunn blir det litt feil. Noen som gidder å se over css? Litt smårusten :p

 

 

<div id="menubox">
     	<span id="roundtop"></span>            
       <h2 class="menuheading">Redaksjonelt</h2>
       <ul class="menu">
       	<li><a href="#">Nyheter</a></li>
       	<li><a href="#">Artikler</a></li>
       	<li><a href="#">Guider</a></li>
       </ul>  
       
       <h2 class="menuheading">Multimedia</h2>
       <ul class="menu">
       	<li><a href="#">Forum</a></li>
       	<li><a href="#">Butikk</a></li>
       	<li><a href="#">Chat</a></li>
       	<li><a href="#">Bildegalleri</a></li>
       </ul>	
       
       <h2 class="menuheading">PCMNorge</h2>
       <ul class="menu">
       	<li><a href="#">Historien</a></li>
       	<li><a href="#">Annonse</a></li>
       	<li><a href="#">Lenker</a></li>
       	<li><a href="#">Kontakt</a></li>
       </ul>               
     	<span id="roundbottom"></span>
     </div>	

 

Css:

 

div#menubox {
 width: 150px;
 max-width: 150px;
 height: auto;
 background-color: #F2F3F4;
}

ul.menu {
 padding-left: 55px;
}


li.menu {
 color: #567487;
 font-size: 14px;
 line-height: 1.3;
 list-style-image: url(design/bullet.png);
}

/* Grafikk */

/*  Roundbox hack   */	
span#roundtop { background: url('design/menu_box_top.png') no-repeat top left #F2F3F4; height: 16px; width: 145px; display: block; }
span#roundbottom { background: url('design/menu_box_bottom.png') no-repeat bottom left #F2F3F4; height: 17px; width: 145px; display: block; }

Endret av Sono
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...