V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
nnegier
V2EX  ›  程序员

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

  •  
  •   nnegier · Mar 31, 2024 · 1949 views
    This topic created in 759 days ago, the information mentioned may be changed or developed.
    8 replies    2024-04-01 11:55:35 +08:00
    Duolingo
        1
    Duolingo  
       Mar 31, 2024 via Android
    就我所知 websocket session 等长连接是无法序列化的,所以无法被缓存
    drymonfidelia
        2
    drymonfidelia  
       Mar 31, 2024
    如果只是想 以磁盘 IO 来换内存空间 调大 swap 就可以
    nnegier
        3
    nnegier  
    OP
       Mar 31, 2024
    @drymonfidelia 用的阿里云的 ECS ,貌似是虚拟机,这样还可行吗?
    nnegier
        4
    nnegier  
    OP
       Mar 31, 2024
    @drymonfidelia 阿里云”如果您使用普通云盘,不建议使用 swap 分区。如果使用高效云盘、SSD 云盘或 ESSD 云盘,可以根据实际情况使用 swap 分区。“ 谢谢你的回答,看样子是可以的
    dyv9
        5
    dyv9  
       Apr 1, 2024 via Android
    为啥要缓存?想办法把 session 转换成 session id 缓存 session id 就行了。消息事件发生时我们用计算出来的 session 查询缓存状态,比如对应的用户 ID 或 token ,不是直接以 session 对象为 key 查找。
    dyv9
        6
    dyv9  
       Apr 1, 2024 via Android
    @dyv9 纠正:计算出来的 session id
    Karte
        7
    Karte  
       Apr 1, 2024
    用 netty websocket 试试. 多路复用技术可以减少句柄占用.
    chtcrack
        8
    chtcrack  
       Apr 1, 2024
    啊?别人都是拿内存空间来加快读写速度,你是反其道而行之啊。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5904 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 02:50 · PVG 10:50 · LAX 19:50 · JFK 22:50
    ♥ Do have faith in what you're doing.