code: func (db *DB) ZRangeByLex(key []byte, min []byte, max []byte, rangeType uint8, offset int, count int) ([][]byte, error) {
  	if min == nil {
  		min = db.zEncodeStartSetKey(key)
  	} else {
  		min = db.zEncodeSetKey(key, min)
  	}
  	if max == nil {
  		max = db.zEncodeStopSetKey(key)
  	} else {
  		max = db.zEncodeSetKey(key, max)
  	}
  
  	it := db.bucket.RangeLimitIterator(min, max, rangeType, offset, count)
  	defer it.Close()
  
  	ay := make([][]byte, 0, 16)
  	for ; it.Valid(); it.Next() {
  		if _, m, err := db.zDecodeSetKey(it.Key()); err == nil {
  			ay = append(ay, m)
  		}
  	}
  
  	return ay, nil
  }
docs: // ZRangeByLex scans the zset lexicographically