]> git.mxchange.org Git - friendica.git/commitdiff
Suppress a couple MemcachedException
authorHypolite Petovan <hypolite@mrpetovan.com>
Tue, 15 Mar 2022 14:52:40 +0000 (10:52 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Tue, 15 Mar 2022 14:54:00 +0000 (10:54 -0400)
- Replace URL by uri-id in apcontact
- Replace date with a space and nurl by nick and Zulu time in mod/poco

mod/poco.php
src/Model/APContact.php

index bd11e0971a2191a53ec3a184ea94004f1f507382..1ccd74b7f1dda1f7fd44fa5a08b8af4ebd852419 100644 (file)
@@ -27,6 +27,7 @@ use Friendica\Core\Protocol;
 use Friendica\Core\Renderer;
 use Friendica\Database\DBA;
 use Friendica\DI;
+use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Strings;
 use Friendica\Util\XML;
 
@@ -121,10 +122,12 @@ function poco_init(App $a) {
                        if (isset($contact['account-type'])) {
                                $contact['contact-type'] = $contact['account-type'];
                        }
-                       $about = DI::cache()->get("about:" . $contact['updated'] . ":" . $contact['nurl']);
+
+                       $cacheKey = 'about:' . $contact['nick'] . ':' . DateTimeFormat::utc($contact['updated'], DateTimeFormat::ATOM);
+                       $about = DI::cache()->get($cacheKey);
                        if (is_null($about)) {
                                $about = BBCode::convertForUriId($contact['uri-id'], $contact['about']);
-                               DI::cache()->set("about:" . $contact['updated'] . ":" . $contact['nurl'], $about);
+                               DI::cache()->set($cacheKey, $about);
                        }
 
                        // Non connected persons can only see the keywords of a Diaspora account
index b519655e13bbe97e57377a5e12ae3505957bac40..55dd756638eaf48262da67400d3252ebdea6adeb 100644 (file)
@@ -168,7 +168,7 @@ class APContact
 
                // Detect multiple fast repeating request to the same address
                // See https://github.com/friendica/friendica/issues/9303
-               $cachekey = 'apcontact:getByURL:' . $url;
+               $cachekey = 'apcontact:' . ItemURI::getIdByURI($url);
                $result = DI::cache()->get($cachekey);
                if (!is_null($result)) {
                        Logger::notice('Multiple requests for the address', ['url' => $url, 'update' => $update, 'callstack' => System::callstack(20), 'result' => $result]);