Почему установлен redis и он становится слишком медленным, чем диск - PullRequest
0 голосов
/ 13 января 2019

У меня есть следующий код:

arr = {}
for i in range(0, 1000000):
    arr[i] = i*2

redis_client.hmset("data_arr", arr)

g = []
for i in range(0, 100):
    v = redis_client.hget("data_arr", str(random.randint(0, 10000000)))
    if v!=None:
       g.append(v)

Во-первых, вставка 1 миллиона строк выполняется очень медленно при повторном запуске (более 60 секунд), тогда как простое сохранение на диске занимает менее 1 секунды.

Во-вторых, redis hget очень медленный, намного медленнее, чем чтение дампа json с диска и его обработка с использованием метода линейного поиска.

Пожалуйста, предложите мне ускорить Redis и альтернативные способы, где я могу хранить данные в оперативной памяти в течение определенного периода времени и иметь доступ к ним как к API.

Я изначально использую MySQL в памяти для хранения временных данных, потому что MySQL очень хорош для запуска поиска и других транзакций SQL, но сложность возрастает, когда я хочу, чтобы данные сохранялись в течение определенного времени или удаляли их, когда тяжелый.

...