2011-11-30 7 views
6

Sto cercando di capire come posso ottenere il risultato di un comando ZRANGEBYSCORE su un set ordinato e salvare il risultato come un nuovo set in redis, non voglio che i dati vengano di nuovo al cliente. So che potrebbe leggere il risultato nel client e quindi spingere il risultato come un nuovo set, ma non voglio che i dati vengano trasferiti avanti e indietro tra il client e il server.Inserisci risultato di ZRANGEBYSCORE in un set

Fondamentalmente ho un set ordinato "A" e un set regolare "B". Voglio filtrare i valori nel set ordinato eseguendo ZRANGEBYSCORE su 'A' e quindi intersecare il risultato con 'B'. Spero che abbia un senso. Mi chiedo come posso farlo

risposta

2

Sfortunatamente non puoi farlo. Potresti provare a utilizzare la versione instabile che consente lo scripting Lua (che al momento è abbastanza stabile) e potresti farlo con un semplice script Lua.

+1

Non potresti mostrare il tuo script Lua per questo scopo? Suggerisce di memorizzare il risultato di ZRANGEBYSCORE in una variabile e quindi di attraversarlo, usando ZADD ad ogni passo? Se è così, è estremamente lento! Inaccettabile per l'utilizzo di produzione. Spero che tu intendessi un altro modo =) – n0nSmoker