What is the difference between CcFlushCache and MmFlushImageSection?

Hi, I’m developing an encryption filter based on minifilter.
Now I’m a little confused abouit Mm & Cc, what are the differences between these two kinds of APIs? Besides, I think the data of a cached file should locate in memory, if so what is Cache Manager & Cc APIs used for?
I need some help! Any help will be much appreciated!