What would happen if two functions have different max_entries for st.cache_data?

I’m referring to the max_entries parameter for st.cache_data. I’m not sure how to test it properly, but I’m wondering what would happen if two functions have different max_entries or if it’s undefined behaviour?

Is there a cache per function? Is there a global cache?

st.cache_data(max_entries=10000)
def cheap_operation(value: int):
    return value ** 2

st.cache_data(max_entries=10)
def more_storage_heavy_operation(value: int, other_value: int, metadata: dict):
    return value ** other_value * metadata["some_value"]

Does this example max sense?

The caching behavior of each function is set independently. cheap_operationwill store up to 10,000 cached entries while more_storage_heavy_operation will start dropping entries if it has 10 in storage and encounters an eleventh one.