Uma descrição
Redis um dos zset estrutura de dados (classificadas conjunto ordenado SET), e seu principal papel para alcançar rankings para, você pode ter classificado um pouco para alguns dados
Em segundo lugar, a estrutura de dados
set- ordenada conjunto ordenado em duas implementações têm em Redis
1.ziplist, compressão lista duplamente ligada, links relacionados
2.skiplist, implementação de tabela salto
Três, estrutura de dados skiplist
pontuação: pontuação, utilizada para classificar
para trás: um conjunto de dados antes que a primeira camada, isto é, extensão 1 =
Cada camada de nó do nó representado por: Nível de []
encaminhar: o próximo nó na hierarquia
extensão: chegar ao próximo nó na hierarquia, o número real de nós todo, também é conveniente para uso zrange classificação consultas etc.
Quatro, Notas
4.1 Inserir dados
1. Ao inserir os dados por Nível [] nodos precisa comparar rapidamente saltar rapidamente localizar a posição do nó
A altura do nível 2. Quando um novo nó é inserido, o nível [] hierarquia determinada pela aleatório
3. Cada intervalo de tempo e, em seguida, atualizar o afetado, período que representa o número de nós no nó nó próxima camada deve chegar a atravessar
lista 4.2 consulta, como zrange
1. O primeiro arranque, por Nível [] e cada posto para localizar rapidamente a posição de partida da primeira camada
2 e, em seguida, de acordo com extremidade, para a saída o resultado para o utilizador
Em quinto lugar, controle de parâmetro
Redis zset perfil, no final, é utilizado para controlar o uso ziplist (compressão listas duplamente ligados) ou parâmetros skiplist (tabela salto):
zset máximo-ziplist-128 entradas
zset máximo-ziplist-valor 64
zset-Max-ziplist-entradas zset armazenamento ziplist quando usado, para limitar o número máximo de entradas armazenadaszset máximo-ziplist-valor zset armazenamento ziplist quando utilizada, o número máximo de bytes armazenados em cada nó
Violar estas duas restrições, irá resultar na estrutura de dados de comutação zset ziplist estrutura de dados para skiplist
A razão para usar zset ziplist, principalmente devido a dados fragmentados em menos tempo, economizando conteúdo ocupada