Добрый день!
Есть файл, в нем хранится около 1 млн строк. Каждая строка - это json. У каждой строки есть свой unique_id. Строки считываются с помощью fgets. Потом это строка помещается в Redis по этому unique_id. Так вот, как этот процесс сделать быстрее всего?
Первый вариант: хранить каждую строку как json, считывать ее, декодить и доставать unique_id. Но при этом придется каждый раз декодировать json.
Второй вариант: хранить строки в формате unique_id=json и использовать регулярные выражения. Но чет мне не внушает доверие этот способ.
Третий вариант: хранить строки в формате unique_id=json, но в этот раз использовать substr, а unique_id изначально делать одной длины.
Размер каждой строки примерно 500 байт. В общей сложности общий размер 500мб.
Может другие идеи подкинете? Заранее спасибо за помощь! Буду пока-что тестировать.
Доброй ночи :)
А может быть будет проще "строки" хранить сразу в бинарном виде? Ведь, похоже, они не для чтения гуманоидами... Можно будетпочти та к же легко упаковывать и распаковывать: php.net/manual/ru/function.unpack.php
Sqlite не советую, ибо будет ещк дольше.