Я думаю, что проблема в том, чтобы решить, как вы хотите, чтобы ваш кэш работал? например какие стратегии вы используете для выселения (последние использовались и т. д.). Это будет распространяться и т. Д.? Хотите оптимизировать попадания в кеш и т. Д.? Сложность основана на этих проблемах.
Простые внутрипроцессные кэши могут быть тривиальными. Как правило, мне не приходилось их реализовывать, поскольку вы можете получить готовые реализации для большинства платформ, и я не решусь изобретать колесо (я полагаю, что ваш вопрос касается сложности реализации, а не спрашивает, следует ли вам создай сам)