From 55a3a71909dd3d916255e98b22e8d124a0c8eadb Mon Sep 17 00:00:00 2001 From: ghost Date: Sat, 27 Jan 2024 11:11:28 +0200 Subject: [PATCH] cache Room::posts --- src/controller/room.php | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/controller/room.php b/src/controller/room.php index 711cc13..1ed136a 100644 --- a/src/controller/room.php +++ b/src/controller/room.php @@ -143,6 +143,12 @@ class Room public function posts(string $namespace): ?string { + // Check for cache + if ($result = $this->_memory->get([__METHOD__, $namespace])) + { + return $result; + } + // Get namespace records if (!$records = (array) $this->_kevacoin->kevaFilter($namespace)) { @@ -191,8 +197,8 @@ class Room // Sort posts by time krsort($posts); - // Get template - return str_replace( + // Get result + $result = str_replace( [ '{logo}', '{home}', @@ -233,6 +239,17 @@ class Room __DIR__ . '/../view/posts.gemini' ) ); + + // Save to cache + $this->_memory->set( + [ + __METHOD__, + $namespace + ], + $result + ); + + return $result; } public function post(string $namespace, ?string $txid, int $session, string $message): ?string