sql >> Databasteknik >  >> NoSQL >> Redis

2 metoder för att spåra onlineanvändare med Redis. Vilken är snabbare?

För att veta om en viss användare är online eller inte, kommer den första metoden att vara mycket snabbare - ingenting är snabbare än att läsa en enda nyckel.

Att hitta användare på en viss sida är inte lika tydligt (jag har inte sett hårda siffror på prestandan för vare sig korsningsnycklar eller jokertecken), men om uppsättningen är tillräckligt stor för att orsaka prestandaproblem i någon av implementeringarna är det inte praktiskt att visa dem alla i alla fall.

För att matcha användare till en vänlista skulle jag förmodligen också välja det första tillvägagångssättet - även några hundra få-operationer (kontrollera statusen för alla i listan) bör överträffa intersection på flera uppsättningar om dessa uppsättningar har ett stort antal poster och är svårt att underhålla.

Redis-set är mer lämpliga för saker som inte kan göras med nycklar, särskilt där det är viktigare att få alla föremål i setet än att kontrollera om ett visst föremål finns i setet.




  1. Använd 'MongoMappingContext#setAutoIndexCreation(boolean)' eller åsidosätt 'MongoConfigurationSupport#autoIndexCreation()' för att vara explicit

  2. Installerar Redis på Debian 9

  3. Cacha tweets med Node.js, Redis och Socket.io

  4. PyMongo-transaktionsfel:Transaktionsnummer är endast tillåtna på en replikuppsättningsmedlem eller mongos