У меня есть 4 источника IP-адресов, я хочу сохранить их в SQL Server и разрешить указывать диапазоны, которые можно классифицировать по исходному коду страны, в списке исключений по странам.
Для этого у меня есть 2 таблицы.
IPAddressRange
CountryCode
Что мне нужно знать, так это то, что если эти данные были возвращены клиенту, а затем кэшированы для быстрого запроса, то каков наилучший способ хранения возвращенных данных для запроса определенного IP-адреса в пределах диапазонов. Я хочу знать, есть ли указанный IP-адрес в списке.
Причина, по которой список находится в БД, заключается в простоте хранения.
Причина, по которой я хочу кешировать и затем использовать данные на клиенте, заключается в том, что я слышал, что поиск по IP-адресам происходит быстрее в структуре дерева. Итак, я думаю, что мне нужно получить список из базы данных, хранить в кэше в структуре, которая очень быстро ищет.
Любая помощь в А) Структура SQL для хранения адресов и б) Код для поиска IP-адресов.
Я знаю решение для проекта кода, в котором есть алгоритм кода для поиска, не уверенный, как смешать это с аспектом хранения.
В идеале без использования сторонней библиотеки. Код должен быть на нашем собственном сервере.