If you can not avoid CACHE you can do with PHP (I imagine it is what you use in your hosting) to generate a number that never repeats itself, I advise you to use DATE and TIME for the browser to interpret as different URLs through a variable.
The format will not be noticed as date and time, I put in the example only for minutes and not seconds to not generate an unnecessary load of access to your hosting.
Paste this at the beginning of the code.
<?php
$nc = "?".date('YmdHi'); //Exemplo do resultado 201802061040
?>
Examples:
<script src="seuscript.js<?php echo $nc ?>"></script>
<img src="imagem.jpg<?php echo $nc ?>" />
This will only affect content placed in HTML if the visitor accesses urls of text / db files (* .TXT, * .LOG, * .JSON) or directly typed images in the browser bar you will see only the first version of the file until the CACHE expires.
In this case I advise you to modify the HTACESS of your hosting, this will make any code expendable:
<filesMatch "\.(html|htm|js|css|png|gif|jpg|jpeg|json)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>