As I know in ASP.NET Core we can store a session in memory, in sql server or in redis.
On that website: http://jiodev.com/aspnet/core/performance/caching/distributed I have found the article:
A distributed cache is shared by multiple app servers (see Caching Basics). >The information in the cache is not stored in the memory of individual web >servers, and the cached data is available to all of the app's servers.
As I understand I can use in memory distributed cache even if I have my application on multiple servers and I can share session? If yes then when to store session in sql server or redis?