update ranges data
add fixed size cache