io faccio così:

salvo l'immagine grezza su filesystem

quando visualizzo la pagina contenente quell'immagine controllo se c'è in cache (sempre su fs, in un'altra directory): se c'è uso quella, altrimenti la creo.

per la verità lo fa un helper di cakephp (è il framework che utilizzo ultimamente) che mi sono modificato un po'