python3 有没有办法将 socket 对象存入 redis 中?

2019-06-15 16:54:00 +08:00
 lanshee
4456 次点击
所在节点    Python
17 条回复
airborne007
2019-06-15 17:50:24 +08:00
pickle 处理下?
welkinzh
2019-06-15 18:00:58 +08:00
需要转一下格式吧, 而且直接存 socket, 看起来就很奇怪
dingyaguang117
2019-06-15 18:01:48 +08:00
请问连接怎么存。。
crysislinux
2019-06-15 18:02:07 +08:00
你能序列化 socket 么。
kaneg
2019-06-15 18:31:48 +08:00
socket 是不可序列化的,因为它是表示网络双方连接的一种抽象对象,连接双方的状态是与时间高度相关,而序列化则是一种试图固化对象状态的操作,所以二者是矛盾的,是毫无意义的。
lanshee
2019-06-15 18:38:14 +08:00
@kaneg 大佬说的一点毛病都没有.难顶难顶.
wspsxing
2019-06-15 19:04:49 +08:00
人才
BBCCBB
2019-06-15 19:07:13 +08:00
存到 redis 里也不可能重用的!!!
love
2019-06-15 20:53:56 +08:00
人才啊,我 socket 存数据库里,岂不是可以实现无限连接
rrfeng
2019-06-15 20:55:10 +08:00
我猜 lz 想存的是 session
cz5424
2019-06-15 20:58:57 +08:00
把收到的信息存起来,建立下一个链接发出去了也是转发
billlee
2019-06-15 20:59:00 +08:00
刻舟求剑
masker
2019-06-15 21:04:11 +08:00
楼上的刻舟求剑说得好啊
opengps
2019-06-15 23:19:52 +08:00
由于不懂 py,说说.net 下~ socket 存 list,Redis 存链接信息方便取用
feather12315
2019-06-15 23:20:44 +08:00
criu 了解一下
sazima
2019-06-15 23:47:39 +08:00
我以前做过类似的, 存储了了 sqlalchemy 的查询结果比如 user, 但是使用 redis 取出来 user, 进一步查询: user.roles.all() 就查不到数据了.
BingoXuan
2019-06-16 15:40:45 +08:00
你可以用 c 实现一个以 fileno 标识 socket 的库,然后存 fileno 到 Redis 里面

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/574237

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX