add room list memcache

This commit is contained in:
ghost 2024-02-18 16:49:03 +02:00
parent be9e492802
commit 3c4e74724c

View File

@ -49,6 +49,13 @@ class RoomController extends AbstractController
?Request $request ?Request $request
): Response ): Response
{ {
// Connect memcached
$memcached = new \Memcached();
$memcached->addServer(
$this->getParameter('app.memcached.host'),
$this->getParameter('app.memcached.port')
);
// Connect kevacoin // Connect kevacoin
$client = new \Kevachat\Kevacoin\Client( $client = new \Kevachat\Kevacoin\Client(
$this->getParameter('app.kevacoin.protocol'), $this->getParameter('app.kevacoin.protocol'),
@ -59,6 +66,15 @@ class RoomController extends AbstractController
); );
// Get room list // Get room list
$memory = md5(
sprintf(
'%s.RoomController::list:list',
__DIR__,
),
);
if (!$list = $memcached->get($memory))
{
$list = []; $list = [];
foreach ((array) $client->kevaListNamespaces() as $value) foreach ((array) $client->kevaListNamespaces() as $value)
@ -116,6 +132,13 @@ class RoomController extends AbstractController
$list $list
); );
// Cache result
$memcached->set(
$memory,
$list
);
}
// RSS // RSS
if ('rss' === $request->get('feed')) if ('rss' === $request->get('feed'))
{ {