Ako vytvoriť pomenovaný cache súbor

MKI-Miro
Člen | 271
+
0
-

Ahojte

Je možné mať nejako čiastočne pomenovaný cache súbor?

Ide o to že tých cache súborov máme celkom dosť a raz za čas niektorý z nich je potrebné vymazať aby sa nanovo pregeneroval. (Teraz je
to nemožné keďže pomenovanie súborov je také že _%00dfea1fc7afeb449e7842257aeeb18833)

Ďakujem

nightfish
Člen | 474
+
+3
-

Pokud chceš částečně promazávat cache, tak je IMHO lepší k tomu použít invalidaci (pomocí tagů).

MKI-Miro
Člen | 271
+
0
-

No ale to je tak že to potrebujem úplne nepravidelne.

nightfish
Člen | 474
+
+2
-

@MKI-Miro Tak budeš invalidovat pomocí tagů nepravidelně, v tom nevidím žádný problém.

Klíč, pod kterým jsou uložena tvá data ve storage, si třída Cache generuje v metodě Nette\Caching\Cache::generateKey(). Máš tedy možnost podědit si Cache a tuto metodu přepsat.

Marek Bartoš
Nette Blogger | 1176
+
+6
-

podědit si Cache

Don't. Just don't.

MKI-Miro
Člen | 271
+
0
-

Marek Bartoš napsal(a):

podědit si Cache

Don't. Just don't.

prečo nie?

nemohlo by to byť namiesto

return $this->namespace . md5(is_scalar($key) ? (string) $key : serialize($key));

nejako takto:

return $key . $this->namespace . md5(is_scalar($key) ? (string) $key : serialize($key));

??

Kamil Valenta
Člen | 762
+
+1
-

To není dobrý nápad, vzhledem k tomu, že $key nemusí být scalar. To už bych raději, při přepisu té metody, vnesl nový volitelný parametr – prefix pro filename.