Самый быстрый способ поиска внутри текстового файла?

350
Peter Payne

Я хотел бы получить совет от людей здесь. Я пытаюсь создать простую / плоскую базу данных с возможностью локального поиска, которая будет состоять из длинных URL-адресов с моего сайта и URL-адресов, сокращенных с помощью bit.ly. Цель состоит в том, чтобы с помощью нажатия клавиши и Applescript / Terminal можно было получать мои сокращенные URL-адреса и добавлять новые, если они еще не были добавлены. Я запустил бы это на трех разных компьютерах Mac, по одному, и моя идея состояла в том, чтобы все URL-адреса были в текстовом файле, который можно синхронизировать с Dropbox, поскольку это достаточно надежно.

База данных URL будет содержать записи, подобные приведенным ниже:

https://www.jlist.com/category/calendars/anime-calendars?utm_source=twitter%26utm_medium=p

https://jli.st/2O3qCgx

Приведенный выше URL-адрес является одной страницей на моем сайте, нижний URL-адрес - сокращенный URL-адрес. Я пытаюсь «кешировать» это, потому что каждый раз, когда я создаю его с нуля, bit.ly API мне не нравится, и я получаю только 500 вызовов API в месяц. Я также хочу увеличить скорость, если смогу.

Поэтому моя идея состоит в том, чтобы выяснить, как открыть файл и быстро найти его с помощью grep для поиска целевого (длинного) URL. Если он есть, я беру URL на одну строку ниже. Если его там нет, я должен сократить URL-адрес с помощью другого сценария, а затем сохранить его в своем текстовом файле для дальнейшего использования.

В основном я хочу знать, думают ли люди, что я на правильном пути, или это не отвечает моим потребностям. Есть ли «лучший» способ приблизиться к этому, например, какая-то реальная база данных sql, но такая, которая будет автоматически запускаться с разных компьютеров Mac и синхронизироваться? Если кто-нибудь может помочь мне с командами, которые мне понадобятся для терминала Mac OS, я был бы очень признателен.

Заранее спасибо!

0
Одно решение для базы данных предложит вам лучшее решение, потому что вы неизбежно захотите, чтобы самая последняя версия вашей базы данных / записей была доступна для всех ваших устройств, когда бы вам ни понадобилось их использовать. Лично я определил бы компьютер, который работает постоянно, и установил бы на него сервер MySQL, а затем написал бы некоторый сценарий AppleScript или bash для принятия длинного URL, сравнил бы его с базой данных, если он не существует, попросите добавить его и вернуть короткий UR, в противном случае вернуть короткий URL. Тем не менее, ваш вопрос может оказаться не лучшим, потому что число решений будет широким. Kinnectus 5 лет назад 0
Спасибо за ответ. Я должен отметить, что я часто бываю в США (из Японии), поэтому я не хотел бы, чтобы мои данные не были у меня «локально» (или как там ни было, лучший вариант). Попытка избежать любой точки, где один компьютер, находящийся в автономном режиме, убьет мой вся способность искать. Peter Payne 5 лет назад 0
Это может быть излишним, но рассматривали ли вы код как [YOURLS] (http://yourls.org/)? MMB 5 лет назад 0

0 ответов на вопрос

Похожие вопросы