Nette\Database – „accessed cache“ nepracuje správně
- David Matějka
- Moderator | 6445
Zdravím, před pár dny jsem si všimnul, že v cache u nette database
mám moc souborů (asi sto tisíc). tak jsem po tom začal trochu pátrat.
Database se snaží trošku využít magii a při dalších requestech dávat na
databázi požadavky jen na sloupečky, které se před tím použily. jenže
pro přístup k cache používá $this->conditions jako část klíče
https://github.com/…election.php#L116
(to samé je i u čtení)
to by nebylo špatný, kdyby v $this->conditions nebyly jako klíče pole
použíty hashe z vstupních argumentů metody where (a tudíž i variabilní
věci jako je ID apod.)
https://github.com/…election.php#L214
pro každou stránku se pak zbytečně vytváří cache a magie ani nefunguje, protože v cache pro to ještě není záznam, jelikož už dávám požadavek s např. jiným ID..