更新创建新网址的最短时间



我在想如何更改yourls以使新的缩短url更快。我真的没有看到它在代码中的位置,但是当"yourls"制作新的缩短网址时,它会为数据库添加标题,所以我假设它必须打开给定的 url 并解析它以获取 url。我不需要它,也许它会导致短网址创建缓慢。我想过制作自己的网址缩短器,但我真的没时间了。

您怎么看,我可以在 yourls 脚本中更改任何内容,以及在代码中可以找到它搜索它的位置(我只是不断将标题设置为 ",因为此列现在可以保留在数据库中)。

如果您只需要一个轻量级的 URL 缩短器,那么编写自己的 URL 缩短器可能是最简单的方法。看看我使用 DBM 的超级简单的缩短器脚本。

<?php
header('Content-Type: text/plain');
// Add url
if (isset($_GET['add'])) {
    $db = dba_open("/tmp/shortner.db", "c", "db4");
    if (!$db) trigger_error("dba_open failed", E_USER_ERROR);
    $key = substr(base_convert(md5($_GET['add']), 10, 36), 0, 5);
    dba_insert($key, $_GET['add'], $db);
    dba_close($db);
    echo "http://{$_SERVER['HTTP_HOST']}/$key";
    exit();
}
// Get url
$db = dba_open("/tmp/shortner.db", "r", "db4");
if (!$db) trigger_error("dba_open failed", E_USER_ERROR);
if (isset($_GET['key']) && dba_exists($_GET['key'], $db)) {
    $url = dba_fetch($_GET['key'], $db);
}
dba_close($db);
if (!isset($url)) {
    header("HTTP/1.0 404 Not Found");
    echo "Not found $_GET[key]";
    exit();
}
header("Location: $url");
echo $url;

使用 .htaccess

RewriteEngine On
RewriteRule ^(w{5})$ /index.php?key=$1

如果需要,您可以在直接操作之前轻松添加计数器。(在这种情况下,以"w"模式打开数据库)。

请注意,该键基于 URL 的哈希值,因此如果再次添加相同的 URL,它只会获得相同的键(因此缩短了 URL)。

如果不实际对您正在谈论的查询进行desc,我认为您不能假设这是问题所在。您需要分析整个脚本以找到它运行缓慢的位置。

相关内容

  • 没有找到相关文章

最新更新