Документация redis для ZADD гласит, что операция является O (log N ).
Однако кто-нибудь знает, что ZADD лучше, чем O (log N ) когда вставленный элемент находится в начале или в конце порядка сортировки?
Например, для некоторых реализаций это может быть O (1).
В частности, учебник redis утверждает, что:
Сортированные наборыреализован через двухпортовую структуру данных, содержащую как список пропусков, так и хеш-таблицу, поэтому каждый раз, когда мы добавляем элемент, Redis выполняет операцию O (log ( N )).
Кажется правдоподобным изменить список пропусков для поддержки вставки O ( k ) в начале и конце, где k - максимальный уровень списка пропусков.