This has nothing to do with textures (excepted when uploading them). That cache is used by most assets (animations, sounds, scripts, note-cards, gestures, wearables, meshes, etc) but not for textures used for rendering, which are still held in the textures cache. Other caches are the objects cache (which caches objects parameters for each visited sim) and the inventory cache (which only caches the inventory items tree, but not any asset those items point at).
I did improve a bit textures fetching speed in the
former release however, by avoiding the recourse to textures cache locking when the textures console or viewer stats retrieve the number of textures being fetched.
As for using a local proxy, you would probably be disappointed by the result. Better increasing your viewer cache size and/or storing the latter on a RAM disk (which contents is saved on OS shutdown and restored on reboot).
Here is my (SysVinit, i.e. it is /etc/rc.d/init.d/ramdisk for me: not sure how the shitty systemd would handle that on non-sysv-init systems) script for my Linux PCs:
And in /etc/fstab I got the following entry for the RAM disk (here set for 12Gb max for a 64Gb RAM system):
Once you enabled and started the ramdisk service (e.g. for sysv-init: chkconfig --add ramdisk;service ramdisk start) you can move cache_coolvlviewer/ from ~/.secondlife/ to the RAM disk and replace it with in ~/.secondlife with a link to it:
From now on, the viewer will use the RAM disk automatically, and the latter will automatically be saved/restored on reboots.
Another advantage of using a RAM disk for the viewer cache is that it spares many writes on your SSD, prolonging its life...