sql >> Databasteknik >  >> NoSQL >> Redis

Hur man cachelagrar stora objekt med Redis cache

Redis är faktiskt inte designad för att lagra stora objekt (många MB) eftersom det är en entrådsserver. Så en begäran kommer att vara tillräckligt snabb, men några förfrågningar kommer att vara långsamma eftersom de alla kommer att behandlas av en tråd. I de senaste versionerna gjordes vissa optimeringar.

RAM-minneshastighet och minnesbandbredd verkar mindre kritiska för global prestanda, särskilt för små objekt. För stora objekt (>10 KB) kan det dock bli märkbart. Vanligtvis är det inte riktigt kostnadseffektivt att köpa dyra snabba minnesmoduler för att optimera Redis. https://redis.io/topics/benchmarks

Så du kan använda Jumbo-ramar eller köpa ett snabbare minne om det är möjligt. Men faktiskt kommer det inte att hjälpa nämnvärt. Överväg att använda Memcached istället. Den är flertrådad och kan skalas ut horisontellt för att stödja stora mängder data. Redis kan endast skalas med master-slave replikering.




  1. Pipelining vs Batching i Stackexchange.Redis

  2. Listar alla samlingar i en mongodatabas i ett nodejs-skript

  3. Unicode i python

  4. Express bytessession varje begäran