Autor | Zpráva | ||
---|---|---|---|
WMPopi Profil |
#1 · Zasláno: 6. 1. 2012, 11:23:49
Ahoj,
řeším takovouto věc - eshop si zpracovává cizí xml: každý den v noci smaže všechny produkty a kategorie z databáze a opět naimportuje z aktuálního xml souboru. Při malém množství produktů je to ok (ač mi to nepřidá zrovna elegantní), pomalu se ale xml rozrůstá a chtěl bych databázi ulehčit. Zatím mě napadlo uložit si md5 posledního souboru a další den s ním porovnat, pokud by byl stejný - nic se nezměnilo, nemusím zpracování provádět. Toto ale neprojde, pokud se změní i jediná položka, jak to řešíte vy? Děkuju za tip, hezký den |
||
Kajman Profil |
#2 · Zasláno: 6. 1. 2012, 12:48:36
Můžete si spočítat md5 hash i nad jednou položkou.
Má každá ta položka jedinečný identifikátor v rámci xml, který je zachován v čase? |
||
WMPopi Profil |
#3 · Zasláno: 6. 1. 2012, 14:32:02
Perfektní nápad!
Takže postup bych měl asi takovýhle: 1/ spočítám hash celého xml, pokud se liší od předchozího pokračuju dalšími kroky 2/ z databáze vyberu všechny hashe produktů, které mám uložené z předchozího zpracování ve sloupci, načtu je do pole s indexy jejich id od dodavatele xml 3/ procházím položku po položce v xml, spočítám její hash a porovnám s hashem načteným v poli z databáze 4/ pokud se liší, aktualizuju celý produkt; spočítám hash produktu, uložím se záznamem 5/ spočítám hash celého xml, uložím Díky |
||
WMPopi Profil |
#4 · Zasláno: 7. 1. 2012, 01:14:13
Kajman:
Ještě jsem zapomněl na kontrolu obrázků - myslíte že stačí porovnávat velikost mého a vzdáleného? Je malá náhoda, že by se velikost po aktualizace přesně shodovala.. Rád bych zjišťoval datum změny vzdáleného souboru, ale nikde mi nefunguje v curl filetime. |
||
WMPopi Profil |
#5 · Zasláno: 7. 1. 2012, 02:26:50
Přes curl jsem v hlavičkách nakonec našel Last-Modified a souhlasí, tedy vyřešeno.
|
||
Časová prodleva: 12 let
|
0