时间:2021-07-01 10:21:17 帮助过:6人阅读
1.关于Redis多连接的问题。
(1)多连接是指:不同项目之间与Redis建立的连接? 还是 同一个项目可以与Redis建立多个连
接?
(2)在一个项目中需要保存 用户信息、设备信息。 那么用不用建立2个连接,一个用来保存用户信息,一个用来保存设备信息,还是只建立一个连接即可? 哪一种方式好呢? 现在我是只建立一个连接,存储所有的数据。
2.关于Redis合适关闭的问题。
场景:Server与Client建立Socket长连接,Server收到Client的数据,先保存到Redis里面,最后在存储到MySQL。
问题:
(1)那么问题来了,我是每次往Redis里面存数据都重新打开,操作完后再关闭。还是一直开着就行,长时间的一直连接,不用关闭,只在程序异常或者退出时再关闭? 个人认为应该是一直保持着连接吧,因为要频繁的IO,所以频繁的连接、关闭不适合。
(2)合理的方式应该是何时关闭Redis连接呢?
刚接触redis不久,看了网上的一些资料有很多地方还没有搞明白,现在有两个问题有点疑惑,希望大家能帮助解答一下。
1.关于Redis多连接的问题。
(1)多连接是指:不同项目之间与Redis建立的连接? 还是 同一个项目可以与Redis建立多个连
接?
(2)在一个项目中需要保存 用户信息、设备信息。 那么用不用建立2个连接,一个用来保存用户信息,一个用来保存设备信息,还是只建立一个连接即可? 哪一种方式好呢? 现在我是只建立一个连接,存储所有的数据。
2.关于Redis合适关闭的问题。
场景:Server与Client建立Socket长连接,Server收到Client的数据,先保存到Redis里面,最后在存储到MySQL。
问题:
(1)那么问题来了,我是每次往Redis里面存数据都重新打开,操作完后再关闭。还是一直开着就行,长时间的一直连接,不用关闭,只在程序异常或者退出时再关闭? 个人认为应该是一直保持着连接吧,因为要频繁的IO,所以频繁的连接、关闭不适合。
(2)合理的方式应该是何时关闭Redis连接呢?
我看你还有一个标签是PHP,不知道你是不是在PHP下使用Redis的,如果是,我想上面的问题都不应该是你该考虑的问题,应该Redis扩展已经帮你设置好了最佳的解决方案。
逐个解决你说的问题:
多链接不是你提的两种情况,而是指一个项目与一个Redis建立多个链接,应该服务器大多是并发处理的,如果只开一个链接就会形成多个请求排队等待链接的情况,所以目前都会才有多链接(连接池)的设计。
不要把每个链接绑定到实际需求中,这种算耦合。并且现在Redis库设计时绝大多数都实现了连接池,你在使用时链接对你来说已经算是不可见的,你就没必要再操这份心做干下层驱动所干的事情了。
正如你说的,最佳的方式是一直保持链接,也就是常说的长链接,而块驱动也已经帮你写好了,你所使用的默认就是长链接,所以并不需要再去处理何时关闭连接的问题了。