Browse Source

cache Room::posts

main
ghost 9 months ago
parent
commit
55a3a71909
  1. 21
      src/controller/room.php

21
src/controller/room.php

@ -143,6 +143,12 @@ class Room
public function posts(string $namespace): ?string public function posts(string $namespace): ?string
{ {
// Check for cache
if ($result = $this->_memory->get([__METHOD__, $namespace]))
{
return $result;
}
// Get namespace records // Get namespace records
if (!$records = (array) $this->_kevacoin->kevaFilter($namespace)) if (!$records = (array) $this->_kevacoin->kevaFilter($namespace))
{ {
@ -191,8 +197,8 @@ class Room
// Sort posts by time // Sort posts by time
krsort($posts); krsort($posts);
// Get template // Get result
return str_replace( $result = str_replace(
[ [
'{logo}', '{logo}',
'{home}', '{home}',
@ -233,6 +239,17 @@ class Room
__DIR__ . '/../view/posts.gemini' __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 public function post(string $namespace, ?string $txid, int $session, string $message): ?string

Loading…
Cancel
Save