Hoje estamos lançando a versão 2.3.10 do Couchbase .NET SDK. Essa é uma versão de manutenção com correções de bugs e aprimoramentos, incluindo a API de estruturas de dados e a API FTS. Caso você tenha perdido, temos um Developer Preview do suporte ao .NET Core aqui.
Novos recursos e alterações
Seguimos o versionamento semântico, o que significa que incrementamos o número ponto-menor ao adicionar recursos. Às vezes, adicionamos recursos de baixo risco em versões de manutenção com estabilidade de interface não comprometida para que você, como desenvolvedor, possa ter acesso fácil a novos recursos. Os recursos adicionados em uma versão de manutenção não são comprometidos e estão abertos a alterações, mas devem ser promovidos a comprometidos na próxima versão dot-minor.
Veja aqui para uma discussão sobre a interface no SDK do .NET.
Atualização da API de estruturas de dados
Quando introduzimos a API de estruturas de dados na versão 2.3.9, adicionamos suporte a listas, mapas e dicionários. Nesta versão, também adicionamos suporte a filas. Isso permite que você use um documento JSON armazenado no Couchbase para manter uma fila FIFO ordenada, com todo o controle de simultaneidade normal que você esperaria de uma fila na memória. Veja abaixo um exemplo de como usar uma fila:
1 2 3 4 5 6 |
balde.QueuePush("my_queue", novo Pessoa("Jerry")); balde.QueuePush("my_queue", novo Pessoa("Rodney")); var tamanho = balde.QueueSize("my_queue"); // 2 var pessoa = balde.QueuePop("my_Queue"); // Jerry |
Além disso, como parte do refinamento da API de estruturas de dados não confirmadas, atualizamos alguns nomes de métodos para que sejam consistentes em todos os SDKs do Couchbase. As alterações estão abaixo:
Antiga | Novo |
---|---|
ListPush | ListAppend |
ListShift | ListPrepender |
ListDelete | ListRemove |
SetExists | SetContains |
Classificação dos resultados do FTS
Um aprimoramento dos recursos de FTS (Full-Text Search) do Couchbase Server 4.6 permite que o usuário aplique suas próprias preferências de classificação no servidor antes de retornar o resultado. Isso é feito usando a função Classificar em ISearchParams antes de enviar uma pesquisa. Pode haver um ou mais campos de classificação, e os campos prefixados com um traço indicam uma ordem decrescente.
1 2 3 |
var searchParams = novo SearchParams(); searchParams.Classificar("name" (nome), "-age"); |
O exemplo de critérios de classificação acima indica a classificação por nome ascendente e, em seguida, por idade descendente.
Aguardando os índices N1QL
O SDK permite que você, como desenvolvedor, crie índices N1QL de forma programática. No entanto, os índices são criados de forma assíncrona no servidor e a execução de consultas em índices incompletos é uma má ideia. Como parte desta versão, introduzimos uma maneira de o SDK observar e aguardar que um ou mais índices entrem no estado "on-line" antes de continuar. Veja abaixo um exemplo de como criar um índice e esperar que ele fique on-line:
1 2 3 4 5 6 7 |
// Criar índice chamado "accounts" nas colunas "account_id" e "account_name" gerenciador de balde.CriarN1qlIndex("contas", falso, "account_id", "account_name"); // Aguarde até que o índice seja marcado como "on-line", com um tempo limite de 30 segundos var indexNames = novo Lista { "contas" }; gerenciador de balde.WatchN1qlIndexes(indexNames, Tempo.FromSeconds(30)); |
Notas de lançamento
- [NCBC-1104] - Quando o certificado SSL não está configurado corretamente, é lançada a System.ArgumentException.
- [NCBC-1232] - O cliente NET não pode se preparar novamente de forma automática quando um índice é removido
- [NCBC-1233] - 2.3.9 O assembly não é fortemente nomeado e não tem um publicKeyToken
- [NCBC-1236] - Referência não resolvida do DotMemory em IntegrationTests
- [NCBC-1079] - analisador JSON de streaming para N1QL
- [NCBC-1204] - deve usar a interface para a propriedade Buckets
- [NCBC-1237] - parâmetro "sort" personalizado para FTS
- [NCBC-1227] - QueuePush, QueuePop e QueueSize para o IBucket
- [NCBC-1036] - Criar um artigo sobre como provisionar um cluster programaticamente com exemplo de código
- [NCBC-1101] - WatchIndexes para gerenciamento de índices
Como obtê-lo
Como sempre, o SDK do Couchbase .NET está disponível em/por: