title: postgres: NOT IN array instead of NOT EXISTS expression
body: <p>my project matches randomly a pair of users. they can exit the game and get matched randomly with other users.</p>
  
  <p>i don't want 2 users can be matched again and again for a while.</p>
  
  <p>i save all my data like user_id, lang, gender etc on a postgres table.</p>
  
  <p>In order not to match them again for a while i was using redis sorted lists and unix time to store the couples of users matched. I decided to use redis because my project store like 1 million of couples per day.</p>
  
  <p>when i have to match an user with another user i get from redis the list of the users matched with him in the last x minutes and i pass them in a 'where user_id not in ()" (they are never more than 200 and in case i limit it to 200) when i run the query to find an available user to match with him.</p>
  
  <p>in this way i can't use the exists or join form that should be faster than IN. Should i then consider to use postgres also to store the couple despite i should write 1 million of them per day (of course i can delete those rows after a while), to run the query using EXISTS or JOIN instead of NOT IN passing a tuple?.</p>
  
  <p>i am wondering about performances.</p>