Also ich war auf der Suche nach einer Antwort auf die gleiche Frage wie OP, war aber nicht wirklich zufrieden mit den Lösungen. Also habe ich vor kurzem damit angefangen, mit dem Quellcode des Frameworks zu experimentieren. Ich habe herausgefunden, dass die remember()
Methode den zweiten Param namens key
akzeptiert und aus irgendeinem Grund nicht auf ihrer site dokumentiert wurde (Oder habe ich das vermisst?) .
Nun, das ist gut, dass der Datenbank-Builder den gleichen Cache-Treiber verwendet, der unter app/config/cache.php
konfiguriert ist. Oder sollte ich das gleiche Cache-System sagen, das hier dokumentiert wurde - Cache. Also, wenn Sie min und Schlüssel zum remember()
geben, können Sie den gleichen Schlüssel verwenden, um den Cache mit Cache::forget()
Methode zu löschen und in der Tat kann man ziemlich viel verwenden, um all Cache
aufgeführten Methoden auf den official site, wie Cache::get()
, Cache::add()
, Cache::put()
usw. Aber ich empfehle Ihnen nicht, diese anderen Methoden zu verwenden, wenn Sie nicht wissen, was Sie tun.
Hier ist ein Beispiel für Sie und andere zu verstehen, was ich meine.
Article::with('comments')->remember(5, 'article_comments')->get();
Nun ist die obige Abfrage-Ergebnis wird im Cache gespeichert werden und wird mit dem article_comments
Schlüssel, dann ist es jederzeit löschen verwendet werden können, in Verbindung gebracht werden (In meinem Fall habe ich es tun, wenn ich aktualisieren).
Also jetzt, wenn ich diesen Cache löschen möchte, unabhängig davon, wie viel Zeit es sich merkt. Ich kann es einfach tun, indem ich Cache::forget('article_comments');
anrufe und es sollte wie erwartet funktionieren.
hoffe, das hilft jeder :)
nicht so theoretisch, btw. –
Nicht jetzt ist es beantwortet, aber zu der Zeit war es, weil es keine Dokumentation zur Verwendung von Cache-Schlüssel mit beredten –