Cache legen op afstand

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Daantju
  • Registratie: April 2014
  • Laatst online: 20-08-2024
Goedemorgen,

Ik vraag me het volgende af. Ik beheer een web-app waar flink wat updates voor verschijnen. Bij enkele updates is het noodzakelijk dat gebruikers hun cache legen, waar vaak weer een uitleg etc bijhoort. Is het mogelijk om een knop in het systeem te maken, waardoor de cache automatisch wordt geleegd als gebruikers daarop drukken? Dus ik zeg: Ga naar Instellingen en klik op de grote rode knop. Dan opnieuw inloggen en je hebt de nieuwste versie.

Volgens mij kan dit niet, maar wellicht hebben jullie tips.

Thnx!

Acties:
  • 0 Henk 'm!

  • perpixel
  • Registratie: Juli 2009
  • Laatst online: 10:04
Ligt eraan wat voor cache je wil clearen. Voor js/css/afbeeldingen zijn er vrij eenvoudige url aanpassingen die je kan doen. https://css-tricks.com/strategies-for-cache-busting-css/ (werkt ook voor js/afbeeldingen).

Acties:
  • +1 Henk 'm!

  • Afvalzak
  • Registratie: Oktober 2008
  • Laatst online: 12-06 22:13

Afvalzak

Zet jij mij even buiten?

Waar is de web-app in geschreven?
Bij bijvoorbeeld Javascript is het wel mogelijk om een soort van refresh te forceren door de script files aant e roepen met een versienummer achter het pad: "/myscript.js?version=*versienummer*" als je dan een nieuwe versie hebt hoog je dat versienummer op en zal de browser "denken" dat het een nieuw bestand is.

Dit kan ook met CSS bijvoorbeeld.

Last.fm | Code Talks


Acties:
  • 0 Henk 'm!

  • Daantju
  • Registratie: April 2014
  • Laatst online: 20-08-2024
Het is geschreven in AngularJS en Phalcon hoofdzakelijk

Acties:
  • 0 Henk 'm!

  • analogue
  • Registratie: Augustus 2010
  • Laatst online: 18-07 11:04
Wij doen wat afvalzak voorstelt. Wij builden onze js files en geven die een versienummer + buildnummer mee. De index.html wordt niet gecached en verwijst dus naar de nieuwste files. Dit is ook handig wanneer je bugreports verzameld om te zien of klanten al dan niet de juiste versie gebruiken (in ons geval blijft de app soms dagen open zonder refresh)

Acties:
  • 0 Henk 'm!

  • azerty
  • Registratie: Maart 2009
  • Laatst online: 06:56
Een variant op Afvalzak:

myscript.*modificationtime*.js

en dan op de server die modificationtime er terug uithalen. Ik pas die toe

(Inspiratie van hier: http://stackoverflow.com/...eload-cached-css-js-files)

Acties:
  • 0 Henk 'm!

  • Daantju
  • Registratie: April 2014
  • Laatst online: 20-08-2024
Thanks! Dat klinkt inderdaad goed, ik ga dit is even testen op een DEV omgeving. Cool, thanks guys!

Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 28-02 01:01
Je kan ook naar de appcache kijken, die doet het bijna automatisch voor je.

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 12-07 22:24
azerty schreef op dinsdag 29 december 2015 @ 12:26:
Een variant op Afvalzak:

myscript.*modificationtime*.js

en dan op de server die modificationtime er terug uithalen.
Als je toch aan het rewriten gaat, dan kun je beter versie nummers vooraan (hoog) in het pad opnemen i.p.v. in de individuele bestandsnamen.

Daarmee heb je iets meer flexibiliteit met het type loader dat je gebruikt. Als je bijv. AMD/RequireJS gebruikt, dan is het bot onhandig als er een versie token in de namen zit, terwijl je heel eenvoudig met een versie token hoog in het pad kunt werken doordat je dat dan gewoon in het basispad voor module lookups kunt opnemen en er verder niet meer naar om hoeft te kijken.
Megamind schreef op woensdag 30 december 2015 @ 15:30:
Je kan ook naar de appcache kijken, die doet het bijna automatisch voor je.
Dat kan. Alleen is appcache een eikel.

[ Voor 55% gewijzigd door R4gnax op 02-01-2016 15:26 ]


Acties:
  • 0 Henk 'm!

  • Megamind
  • Registratie: Augustus 2002
  • Laatst online: 28-02 01:01
Ik heb al een dozijn van dat soort artikelen gelezen, als je weet hoe appcache werkt en hoe je het hem netjes kan gebruiken dan is er niks mis mee.

Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 12-07 22:24
Megamind schreef op zaterdag 02 januari 2016 @ 15:29:
[...]

Ik heb al een dozijn van dat soort artikelen gelezen, als je weet hoe appcache werkt en hoe je het hem netjes kan gebruiken dan is er niks mis mee.
"Als je weet hoe perl/php/vb/brainfuck/etc. werkt en hoe je het hem netjes kan gebruiken dan is er niks mis mee."

Dat argument snijdt geen hout.

Acties:
  • 0 Henk 'm!

  • azerty
  • Registratie: Maart 2009
  • Laatst online: 06:56
R4gnax schreef op zaterdag 02 januari 2016 @ 15:22:
[...]


Als je toch aan het rewriten gaat, dan kun je beter versie nummers vooraan (hoog) in het pad opnemen i.p.v. in de individuele bestandsnamen.

Daarmee heb je iets meer flexibiliteit met het type loader dat je gebruikt. Als je bijv. AMD/RequireJS gebruikt, dan is het bot onhandig als er een versie token in de namen zit, terwijl je heel eenvoudig met een versie token hoog in het pad kunt werken doordat je dat dan gewoon in het basispad voor module lookups kunt opnemen en er verder niet meer naar om hoeft te kijken.
Dat is uiteraard mogelijk ja. In mijn geval was het niet nodig omdat het maar 5 javascript bestanden betrof ofzo (waar ik wel de laatste versie van nodig had uiteraard)...

Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 16-06 09:56

igmar

ISO20022

Daantju schreef op dinsdag 29 december 2015 @ 09:52:
Ik vraag me het volgende af. Ik beheer een web-app waar flink wat updates voor verschijnen. Bij enkele updates is het noodzakelijk dat gebruikers hun cache legen, waar vaak weer een uitleg etc bijhoort. Is het mogelijk om een knop in het systeem te maken, waardoor de cache automatisch wordt geleegd als gebruikers daarop drukken? Dus ik zeg: Ga naar Instellingen en klik op de grote rode knop. Dan opnieuw inloggen en je hebt de nieuwste versie.
Als je dat moet doen heb je een probleem in je applicatie : Het zou nooit nodig moeten zijn. Gebruik versioned CSS / JS / HTML files. Of in de naam zelf, of als GET param.
Pagina: 1