Я недавно внедрил Redis в один из моих проектов Laravel. В настоящее время это скорее техническое упражнение, а не производство, так как я хочу посмотреть, на что оно способно.
Я создал список платежных операций. То, что я подталкиваю к списку, - это полезная нагрузка, которую я получаю от webhook каждый раз, когда обрабатывается транзакция. Полезная нагрузка - это, по сути, объект, содержащий всю информацию, относящуюся к этой конкретной транзакции.
Я создал интерфейс VueJS, который затем отображает все данные в таблице и имеет нумерацию страниц, поэтому он показывает 10 строк за раз.
Изначально это работало очень быстро, но теперь, когда список содержит 30 000 строк, что составляет примерно 11 МБ данных, запрос занимает около 11 секунд.
Мне кажется, проблема в том, что я использую список и извлекаю все строки из списка, используя LRANGE.
Причина, по которой я использовал список, заключалась в том, что в нем есть команда LPUSH, поэтому последние транзакции идут в начало списка.
Я решил провести тест, в котором я взял все данные из списка и вывел значение на пустую страницу, и это заняло примерно одно и то же время, поэтому это не проблема для Vue, Axios и т. Д.
Во-первых, это нормальная скорость чтения? Я всегда слышал, что Redis блистает быстро.
Во-вторых, есть ли лучший способ повысить производительность чтения при использовании Redis?
В-третьих, я использую неправильный тип данных?
Со временем я должен иметь возможность хранить 1 м строк данных.