2011-11-30 7 views
6

Estoy tratando de averiguar cómo puedo tomar el resultado de un comando ZRANGEBYSCORE en un conjunto ordenado y guardar el resultado como un nuevo conjunto en redis, no quiero que los datos vengan de vuelta al cliente. Sé que podría leer el resultado en el cliente y luego presionar el resultado como un nuevo conjunto, pero no quiero que los datos se transfieran entre el cliente y el servidor.Inserte el resultado de ZRANGEBYSCORE en un conjunto

Básicamente tengo un conjunto ordenado 'A' y un conjunto regular 'B'. Quiero filtrar los valores en el conjunto ordenado ejecutando ZRANGEBYSCORE en 'A' y luego intersecar el resultado con 'B'. Espero que tenga sentido. Preguntándose cómo puedo hacer eso

Respuesta

2

Lamentablemente no se puede hacer eso. Puede intentar usar la versión inestable que permite la creación de secuencias de comandos Lua (que es bastante estable en este momento) y podría hacerlo con un simple script Lua.

+1

¿No podría mostrar su script de Lua para este propósito? ¿Sugiere almacenar el resultado de ZRANGEBYSCORE en una variable y luego recorrerlo, usando ZADD en cada paso? Si es así, ¡es extremadamente lento! Inaceptable para producción usando. Espero que quisieras decir otra forma =) – n0nSmoker

Cuestiones relacionadas