redis长连接与短连接

长连接

  1. 定义:在同一个进程下进行多次命令发送,只需要发起一次连接请求
  2. 优势:减少连接redis的次数,从而减少命令执行的时间,减少系统开销
  3. 劣势:
    1. 如果该连接一直不产生活动,容易出现time_out错误
    2. 长期占用一个redis连接
    3. 高并发场景请求被串行(redis是单进程模式,例如一个php-fpm进程能处理多个请求,而redis需要一个个进行处理)

短连接

  1. 定义:每次发起命令都需要进行一次连接,命令执行完之后,释放连接
  2. 优势:及时释放连接,不占用redis连接数

  3. 劣势:每个命令执行都需要进行一次连接,延长命令执行时间,连接释放等操作需要占用内存,开销比较大

应用

  1. 长连接主要用于少数客户端与服务端的频繁通信,因为这时候如果用短连接频繁通信常会发生Socket出错,并且频繁创建Socket连接也是对资源的浪费
  2. 太多持久连接,大部分是sleep状态的,或者系统是高并发的,使用短连接更合适
坚持原创技术分享,您的支持将鼓励我继续创作!