C# 会话变量的内存占用是多少?

C# 会话变量的内存占用是多少?,c#,asp.net-mvc,session-variables,C#,Asp.net Mvc,Session Variables,与3个不同的会话变量相比,使用序列化json对象、c#对象或逗号分隔字符串存储单个会话变量是否更有效?我不知道每个会话变量的总占用空间是多少,但我担心服务器端的会话缓存膨胀 前 或 我只是想使用占用空间最小的东西以上方法没有什么区别,我建议首先关注缓存中的内容。。。如果你的缓存膨胀,那是因为你存储了太多的东西。。。不是因为您存储它们效率低下。。。话虽如此,第二种方法占用的空间更少。因为您没有在缓存中存储json变量名(“name”、“id”、“image”),所以您只是在存储它们的值。缓存膨胀对

与3个不同的会话变量相比,使用序列化json对象、c#对象或逗号分隔字符串存储单个会话变量是否更有效?我不知道每个会话变量的总占用空间是多少,但我担心服务器端的会话缓存膨胀


我只是想使用占用空间最小的东西

以上方法没有什么区别,我建议首先关注缓存中的内容。。。如果你的缓存膨胀,那是因为你存储了太多的东西。。。不是因为您存储它们效率低下。。。话虽如此,第二种方法占用的空间更少。因为您没有在缓存中存储json变量名(“name”、“id”、“image”),所以您只是在存储它们的值。缓存膨胀对我来说很重要,因为我可能会有大量用户,每个用户都会存储此会话数据。如果我一次有超过一百万的用户登录怎么办?在我看来,你不应该在内存中存储一百万用户的数据。。。您可以将数据放入cookie中,这样每个请求都将包含特定用户的数据,请参阅。。。我也不知道你的设计,但是你可以把数据存储在数据库里。。。会话变量应该很小。这是我的问题。如果用户登录,我会在布局中加载部分页面。这是一个即时聊天框。我想从这些会话变量中加载一些内容到聊天框中。所以我不想每次加载一个视图时都进行db抓取,尤其是因为我有一大堆的视图为什么不把它放在cookie中?如果是少量数据,它可以在请求中来回移动。
Session["some id"] = "{ name: "name", "id": "some id", "image": "image url" }"
Session["name"] = "some name"
Session["id"] = "user id"
Session["image"] = "some image url"