Если направление web - используйте nginx-овский кэш файлов и на go это писать не нужно.
Если же нужно именно на go:
Создайте структуру с приватным отображением ( ключи - имена файлов, значения - их данные ) внутри и RW мютексом + выполняйте блокировки в случае чтения/записи. При этом запись выполняйте в момент инициализации приложения.
----upd----
type MapInterface interface {
Has(key string) bool
Set(key string, data []byte)
Get(key string) (bool, []byte)
Remove(key string)
}
type Map struct {
sync.RWMutex
data map[string][]byte
}
Так же посмотрите
https://github.com/golang/groupcache/blob/master/l...C nginx не работал.
C golang видимо тоже, вам нечего терять))
Сначала идёт проверка авторизации, а потом он отдаётся- т.е.
x-sendfile в помощь))