This is effectively how MediaCache works by changing the MinTimeToLive value. This value is the minimum time an asset can stay in the store when not in use.
Store is 10Gb
The following files are cached 5 minutes apart with a MinTimeToLive set to 300000 ( 5 minutes )
File 1 is requested and partially cached - 2Gb - After 5 minutes the user stops watching the file
File 2 is requested and partially cached - 2Gb
File 3 is requested and partially cached - 3Gb
File 4 is requested and partially cached - 2Gb
File 5 is requested - 2 Gb - However only 1 Gb of space remains. MediaCache knows the MinTimeToLive has expired on File1, so removes it to make space for File 5. When a file is requested MediaCache reserves the whole file size, rather than just the amount being used at the time so it knows it has space to populate the rest of the cache with the file when needed.
This is a very simplistic example but hopefully clarifies it for you.