PHP读取redis的KEY,偶发读取不到的情况

【问题描述】PHP读取redis中存在值的key,偶发读取不到的情况

【问题原因】PHP-Redis长连接导致

  1. PHP和Redis的长连接由PHP-FPM保持,当PHP程序存在切换RedisDB的时,会导致长连接里面的DB被切换到新的DB。
  2. PHP-FPM多进程时,部分进程切换到新的DB,部分DB还是为0(所以出现虽然key有值,但偶尔读取不到值。因为读的DB不对)

【解决方案】下面2个都可以

  1. 不要使用Redis长连接
  2. 让需要切换RedisDB的程序和其它不切换的RedisDB的程序分开使用不同Redis