Hello, I’m developing application which uses websockets for chatting feature.
I was wondering what is best way to store all client handles in server side. Every tutorial (eg. this) just says to store in some form of map. I figured that in large commercial apps list of clients would be rather high and I wondered if storing it on heap is actually valid implementation or if some other solutions like caching dbs like redis are used.
What’s your experience with that?
Don’t think the size really matters… an IP is 4 bytes, and the port another byte, plus lets say 4 bytes for the UserId. So with some overhead, you can practically put about 100k addresses in 1 MB.
With that many addresses, you should probably be more concerned about the lookup than the storage. I’d probably put then in a Dictionary[UserId, SocketData].
Websockets don’t usually stay alive for long periods, so there’s not much point of storing them in a database. Unless you’re building something serverless, but then I wouldn’t build something myself, but just use Firebase Cloud Messaging instead