Выскажу свое видение по этим вопросам.x13dev писал(а): Ну тогда текущие вопросы:
- как хранить массив, каждый элемент отдельно или всё вместе?
- как передавать изменения, а если размер 100 КБ?
- какие нужны функции? (получить, добавить, изменить, удалит элемент по индексу)
- куда записывать результат, новый массив или назад.
- как работать с N-мерными массивами.
как хранить массив, каждый элемент отдельно или всё вместе?
Массив хранить в файле типа CSV. При старте системы читать данные из файла, при шатдауне записывать. Во время работы хранить в оперативке
как передавать изменения, а если размер 100 КБ?
Изменения передавать или по шатдауну или раз в 5..60 минут. Имеется ввиду сброс оперативки в файл. Размер файла ограничить небольшим значением. Если элементов
много или велики сами элементы - имеет смысл использовать какую-нибудь стандартную базу данных. Например SQLLite или MySQL. Но интерфейс к этим базам уже отдельная задача, потому
просто ограничится определенным размером.
какие нужны функции? (получить, добавить, изменить, удалит элемент по индексу)
чтение значения, чтение-модификация-запись значения, добавить элемент, удалить элемент: все по индексу или по возрастанию индекса, все в оперативке.
куда записывать результат, новый массив или назад.
результат записывать назад, в ту-же ячейку оперативки. При желании пользователь создаст новый массив и будет перегонять данные в него.
как работать с N-мерными массивами.
массивы мерностью 1 и 2 можно хранить в файле CSV. Мерность больше 2 будет нужна значительно реже чем 1 и 2. Мерность больше 2 можно так-же переложить на плечи SQLLite. На будущее так сказать.
Еще раз замечу, что не претендую на истину в последней инстанции, скорее высказал метод, как-бы я сам решил эти вопросы.
Буду рад, если мое мнение окажется чем-то полезно.