The time complexity of Redis sorted set insertion is O(log n) and I assume it is due to the insertion of data in the skip list (In order to maintain the Set Order). But if the data that I am going to insert will always have scores in increasing order, is it still going to be O(log N)? I guess they should have a simple pointer to the tail of the skip list which could do the insertion in O(1).
Sorry if I have missed a basic thing here.
The skip list uses randomized level creation. If your inserts are always with increasing scores, it will traverse the complete top-level, then all levels all the way to the highest-score border, including the bottom level (like falling down stairs). So, yes, your inserts will always be O(log N).
You can trick this by using your scores always decreasing instead (multiply by -1), this way you will just be traversing all the levels on the lowest-score edge. There are 64 levels tops (ZSKIPLIST_MAXLEVEL = 64) and hence you get O(1) inserts in your case (constant time).
Take a look at Redis Streams, it enforces always increasing ids. You can not modify elements, but you can store a reference to a key where you store the modifiable part of your element. Chances are it suits you better. It uses a radix tree internally.