Ansvarsfriskrivning:Jag är författaren till Nest.
Du kan åstadkomma samma sak med båda biblioteken, och jag tror att den huvudsakliga skillnaden mellan dessa verktyg är deras interna komplexitet. Medan Nest bara hjälper dig att representera struktur med platta nycklar, har Redis::Namespace en översättningstabell för varje kommando och den är därför mer ömtålig och CPU-intensiv.
Ta en titt på källkoden för båda verktygen för att se vad jag menar:
https://github.com/soveran/nest/blob/master/lib/nest.rb
https://github.com/resque/redis-namespace/blob/master/lib/redis/namespace.rb
Som sagt, den rätta lösningen på problemet du beskrev är att ha separata Redis-instanser för olika projekt. Tänk på att tangentutrymmet bara är en aspekt att ta hänsyn till (vilket också skulle kunna lösas enkelt med de olika DB:erna som tillhandahålls av Redis). De andra aspekterna (uthållighetsstrategi, anslutnings- och minnesgränser, nyckelvräkningar, etc.) är vanligtvis finjusterade beroende på projektets karaktär.
Ett annat viktigt faktum är att Redis är enkelgängad, och många applikationer använder det, du måste dela samma kärna för alla förfrågningar. Med det i åtanke, att ha olika Redis-instanser hjälper dig att parallellisera arbetet.