I'm write my own cache system. Logic is simple:
- Use special function in source code for images
- It search image in cache and return local path.
- If it not in local cache - it loads image from given url to local disk and return local path.
When application starts, it load catalogue with items and I call this function for each items picture. And do the same when update local catalogue. In my case there are >10k images @ >1,5Gb.
If image loads with error - it replace special error image "Sorry! Image not found".