I think the most basic feature for data storage regarding read-cache is to have a warm cache. It's quite simple:
Whenever we seek for a file, try to check on cache, if it finds, update file last access. If cache is a miss and file is being read sequentially/completely, try start caching the file, if there is enough space in cache thats fine.
Also cache recently written files.
If you're caching a new file and cache is full, remove the least last accessed files until there is enough space.
It's a dumb cache, but the idea is simple. Recently used files will be used more often. And they will be cached.
As data gets colder, it will be pulled off cache.
And I think it is much more important than preemptive cache just because if you know the exact set of folders you want to cache, you can just make a share for it and configure it to store in a faster drive.