English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
La diferencia es que cada elemento se asocia con un valor de tipo double. Redis ordena a los miembros de la colección desde el más pequeño al más grande mediante las puntuaciones.
Los miembros de la colección ordenada son únicos, pero las puntuaciones (score) pueden repetirse.
La colección se implementa mediante una tabla de hash, por lo que la complejidad de agregar, eliminar y buscar es O(1)。 El número máximo de miembros en la colección es 232 - 1 (4294967295, cada conjunto puede almacenar40 más de mil millones de miembros).
redis 127.0.0.1:6379> ZADD w3codeboxkey 1 redis (integer) 1 redis 127.0.0.1:6379> ZADD w3codeboxkey 2 mongodb (integer) 1 redis 127.0.0.1:6379> ZADD w3codeboxkey 3 mysql (integer) 1 redis 127.0.0.1:6379> ZADD w3codeboxkey 3 mysql (integer) 0 redis 127.0.0.1:6379> ZADD w3codeboxkey 4 mysql (integer) 0 redis 127.0.0.1:6379> ZRANGE w3codeboxkey 0 10 WITHSCORES 1) "redis" 2) "1" 3) "mongodb" 4) "2" 5) "mysql" 6) "4"
En el ejemplo anterior, mediante el comando ZADD Se han añadido tres valores a la colección ordenada de redis y se han asociado con puntuaciones.
La siguiente tabla enumera los comandos básicos de la colección ordenada de redis:
Número de orden | Comando y descripción |
---|---|
1 | ZADD key score1 member1 [score2 member2] Añade uno o más miembros a la colección ordenada o actualiza la puntuación de los miembros existentes |
2 | ZCARD key Obtiene el número de miembros de la colección ordenada |
3 | ZCOUNT key min max Calcula el número de miembros en el intervalo de puntuación especificado de la colección ordenada |
4 | ZINCRBY key increment member Añade el增进 increment a la puntuación del miembro especificado en la colección ordenada |
5 | ZINTERSTORE destination numkeys key [key ...] Calcula la intersección de una o más colecciones ordenadas y almacena el conjunto de resultados en una nueva colección ordenada destination |
6 | ZLEXCOUNT key min max Calcula el número de miembros en el intervalo de diccionario específico de la colección ordenada |
7 | ZRANGE key start stop [WITHSCORES] Devuelve los miembros en el rango específico de la colección ordenada por índice |
8 | ZRANGEBYLEX key min max [LIMIT offset count] Devuelve los miembros de la colección ordenada por intervalo de diccionario |
9 | ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] Devuelve los miembros en el rango especificado de la colección ordenada por puntuación |
10 | ZRANK key member Devuelve el índice del miembro especificado en la colección ordenada |
11 | ZREM key miembro [miembro ...] Eliminar uno o más miembros de un conjunto ordenado |
12 | ZREMRANGEBYLEX key mín max Eliminar todos los miembros en el rango de diccionario especificado del conjunto ordenado |
13 | ZREMRANGEBYRANK key inicio fin Eliminar todos los miembros en el rango de posición especificado del conjunto ordenado |
14 | ZREMRANGEBYSCORE key mín max Eliminar todos los miembros en el rango de puntuación especificado del conjunto ordenado |
15 | ZREVRANGE key inicio fin [CON PUNTUACIÓN] Devolver los miembros en el rango especificado del conjunto ordenado, a través de índices, la puntuación se ordena desde alta a baja |
16 | ZREVRANGEBYSCORE key máx min [CON PUNTUACIÓN] Devolver los miembros en el rango de puntuación especificado del conjunto ordenado, los miembros se ordenan por puntuación desde alta a baja |
17 | ZREVRANK key miembro Devolver la posición del miembro especificado en el conjunto ordenado, los miembros del conjunto ordenado se ordenan por valor de puntuación en orden decreciente (de mayor a menor) |
18 | ZSCORE key miembro Devolver el valor de puntuación del miembro en el conjunto ordenado |
19 | ZUNIONSTORE destino numkeys key [key ...] Calcular la unión de uno o más conjuntos ordenados dados y almacenarlos en un nuevo key |
20 | ZSCAN key cursor [MATCH patrón] [COUNT cuenta] Iterar los elementos de un conjunto ordenado (incluyendo el miembro del elemento y el valor del elemento) |