• 请不要在回答技术问题时复制粘贴 AI 生成的内容
nnegier
V2EX  ›  程序员

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

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