Is @st.experimental_memo globally stored?

So for @st.experimental_memo is this caching global to users? reason why asking is for some of dashboards we call to web apis and at times be good to cache these, though one thing is given these apis are authorized per user the results of web api would be different depending on specific user), my assumption is the @st.experimental_memo is pickeled and would same cached data would be used for all users. If this is true assuming if wanted to cache using @st.experimental_memo I would have to have function take in some user identifiably different data so can use in cache key (or something to this affect)

at this point should i just be using st.session_state to cache, curious if ramification to this I am not thinking of.