网络连接对象能不能缓存?

1. 背景

由于某种认知的问题(或者其他个人原因),即使是面向对象的开发中,也总是不太确定过这样的问题:网络对象能不能缓存起来?

2. 聊聊这个事情

前提是面向对象编程:
在面向对象语言中开发网络程序,一个网络对象,具体到一个类比如socket的实例是可以缓存的。
但是缓存的目的有很多(我能够想到的是为了后续使用而不再重复创建连接),由于这个socket是有一个有生命(周期)的对象,因此缓存后,那么就引入了一些问题,要想循环利用这个缓存的对象,需要解决这些引入的问题:

对象的存活(连接是否还是连接状态connected状态),千万不要因为这个对象,缓存了就可以拿来就用,要进行必要的判断和容错(代码的健壮性)
什么时候从缓存中清除这个对象(有可能一直要缓存下去,但是由于某种原因,不想缓存下去就需要考虑和解决这个问题)

3. 延伸下这个问题

上面讲到的socket是有生命(周期)特性的一个例子,对于这样有生命(周期)的对象进行缓存,不仅仅要考虑对象的可用性,还可能要考虑涉及到缓存边界里面的一些问题(比如如何剔除无效的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值