V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nnegier
V2EX  ›  程序员

Spring WebSocketSession 可以缓存吗?以磁盘 IO 来换内存空间

  •  
  •   nnegier · 236 天前 · 1429 次点击
    这是一个创建于 236 天前的主题,其中的信息可能已经有所发展或是发生改变。
    8 条回复    2024-04-01 11:55:35 +08:00
    codingadog
        1
    codingadog  
       235 天前 via Android
    就我所知 websocket session 等长连接是无法序列化的,所以无法被缓存
    drymonfidelia
        2
    drymonfidelia  
       235 天前
    如果只是想 以磁盘 IO 来换内存空间 调大 swap 就可以
    nnegier
        3
    nnegier  
    OP
       235 天前
    @drymonfidelia 用的阿里云的 ECS ,貌似是虚拟机,这样还可行吗?
    nnegier
        4
    nnegier  
    OP
       235 天前
    @drymonfidelia 阿里云”如果您使用普通云盘,不建议使用 swap 分区。如果使用高效云盘、SSD 云盘或 ESSD 云盘,可以根据实际情况使用 swap 分区。“ 谢谢你的回答,看样子是可以的
    dyv9
        5
    dyv9  
       234 天前 via Android
    为啥要缓存?想办法把 session 转换成 session id 缓存 session id 就行了。消息事件发生时我们用计算出来的 session 查询缓存状态,比如对应的用户 ID 或 token ,不是直接以 session 对象为 key 查找。
    dyv9
        6
    dyv9  
       234 天前 via Android
    @dyv9 纠正:计算出来的 session id
    Karte
        7
    Karte  
       234 天前
    用 netty websocket 试试. 多路复用技术可以减少句柄占用.
    chtcrack
        8
    chtcrack  
       234 天前
    啊?别人都是拿内存空间来加快读写速度,你是反其道而行之啊。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1193 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 18:23 · PVG 02:23 · LAX 10:23 · JFK 13:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.