redis的编码分为ziplist和skiplist两种,当保存的元素少于128个,并且保存所有元素大小小于64字节使用ziplist,否则使用skiplist,其中ziplist的集合元素从小到大的顺序进行排序,小的放在表头位置,大的放在靠近表尾的位置,skiplist编码的有序集合对象使用zet作为底层结构实现,一个zset结构同时包含一个字典和一个跳表,由于字典是以无序方式保存集合元素,所以每次进行范围操作的时候都要进行排序。