Merge pull request #11892 from annando/pagecache

Pagecache for frequently fetched pages
This commit is contained in:
Hypolite Petovan 2022-09-07 22:25:19 -04:00 committed by GitHub
commit 7da43fe28a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 16 additions and 29 deletions

View file

@ -3321,7 +3321,7 @@ class Contact
continue;
}
$contact = self::getByURL($url, false, ['id', 'updated']);
if (empty($contact['id'])) {
if (empty($contact['id']) && Network::isValidHttpUrl($url)) {
Worker::add(PRIORITY_LOW, 'AddContact', 0, $url);
++$added;
} elseif ($contact['updated'] < DateTimeFormat::utc('now -7 days')) {

View file

@ -21,8 +21,10 @@
namespace Friendica\Model;
use Friendica\Core\Logger;
use Friendica\Database\Database;
use Friendica\Database\DBA;
use Friendica\DI;
class ItemURI
{
@ -35,14 +37,16 @@ class ItemURI
*/
public static function insert(array $fields)
{
$fields = DI::dbaDefinition()->truncateFieldsForTable('item-uri', $fields);
if (!DBA::exists('item-uri', ['uri' => $fields['uri']])) {
DBA::insert('item-uri', $fields, Database::INSERT_UPDATE);
DBA::insert('item-uri', $fields, Database::INSERT_IGNORE);
}
$itemuri = DBA::selectFirst('item-uri', ['id', 'guid'], ['uri' => $fields['uri']]);
if (!DBA::isResult($itemuri)) {
// This shouldn't happen
Logger::warning('Item-uri not found', $fields);
return null;
}
@ -77,22 +81,4 @@ class ItemURI
return $itemuri['id'] ?? 0;
}
/**
* Searched for an id of a given guid.
*
* @param string $guid
* @return integer item-uri id
* @throws \Exception
*/
public static function getIdByGUID(string $guid): int
{
$itemuri = DBA::selectFirst('item-uri', ['id'], ['guid' => $guid]);
if (!DBA::isResult($itemuri)) {
return 0;
}
return $itemuri['id'];
}
}