Я планирую использовать Redis для хранения данных следующего характера:
data =[
['first_name', 'last_name', '', 'x', '', '', 'e'],
['x', '', '', 'x', '', '', 'x'],
['', '', '', 'x']
]
Это соответствует сетке, которая выглядит примерно так:
first_name last_name x e
x x x
x
Как показано выше, сетка может иметь произвольные размеры, и нет ограничений по типу.
Вот четыре операции, которые мне нужно поддерживать, приведя в качестве примера эквивалент Python:
# insert data at a specific cell, A2
data[0][2] = "new value"
# insert a new blank row, at 2
data.insert(1,[])
# insert a new blank column at B
for i in range(len(data)):
data[i].insert(1,'')
# retrieve all data
print(data)
Был бы ли Redis хорошим вариантом для хранения вышеуказанных данных? Если да, то как его можно сохранить для выполнения вышеуказанных операций? В качестве другого варианта я думал просто сохранить его в виде структуры json со всеми имеющимися там данными и просто извлекать данные по требованию каждый раз, когда мне нужно выполнить операцию (хотя данные могут занимать до 50 МБ и загружать такое количество файлов). данные занимают около 2с локально). Еще одним вариантом было бы сохранить его в нечто вроде БД как (row,col,value)
.