Le seguenti nuove funzionalità sono fornite in NCache v5.3 SP1.
Le seguenti nuove funzionalità sono fornite in NCache v5.3.
Nel NCache immagini disponibili su Azure e AWS, la registrazione per la valutazione gratuita di NCache è supportato in NCache Gestore web. Quando una macchina non è registrata né con la valutazione né con una chiave di licenza, il NCache La schermata predefinita di Web Manager porta gli utenti a un processo di registrazione per avviare la valutazione o attivare le proprie caselle.
La caratteristica 'NCache NoSQL' rilasciato in 5.3 è stato rinominato in 'NCache Persistenza'. Il funzionamento della funzionalità rimane lo stesso, tuttavia i provider aggiuntivi vengono rimossi. Il NCache La persistenza ora può essere utilizzata solo con l'archivio integrato basato sul file system.
Tutti NoSQL anche i relativi cmdlet di PowerShell sono stati rinominati.
Viene rilasciato un pacchetto NuGet separato per NCache Procedure memorizzate CLR. Questo aiuta a creare facilmente le stored procedure CLR che utilizzano NCache API.
Invece di usare le configurazioni specificate in client.ncconf, gli utenti possono forzare le applicazioni SignalR a usare le opzioni di connessione specificate nei file web.config o appsettings.json dell'applicazione. Se specificato, l'applicazione utilizzerà queste impostazioni.
Il valore dell'intervallo di aggiornamento ora può essere impostato in secondi anziché in minuti. La modifica è stata apportata per adattarsi agli scenari in cui l'aggiornamento dovrebbe essere eseguito con un intervallo inferiore a un minuto.
NCache sta fornendo una nuova funzionalità chiamata NoSQL Database dove l'intero database è In-Memory e distribuito, ma viene anche mantenuto in uno spazio di archiviazione permanente in tempo reale (a differenza di altri prodotti che acquisiscono uno snapshot periodico o persistono solo un registro delle transazioni). Questa persistenza in tempo reale assicura che i tuoi dati in memoria siano sempre sincronizzati e mai persi anche quando riavvii tutti i NCache server.
NCache NoSQL Database è super veloce e scalabile perché è 100% In-Memory e distribuito. Allo stesso tempo, NCache NoSQL Database persiste i dati proprio come tutti gli altri database in modo da non perdere alcun dato anche se tutto NCache i server vengono disattivati.
Puoi scegliere di insistere NoSQL Database in NCache Persistenza che super veloce e molto affidabile. Oppure, se preferisci, puoi persistere NoSQL Database in uno dei principali database di terze parti. NCache fornisce le seguenti opzioni di persistenza in tempo reale Per NoSQL Database:
Puoi usare NCache NoSQL Database nei seguenti modi:
NOTA: è possibile utilizzare questa funzionalità dalle applicazioni .NET, Java, Node.js e Python.
NCache fornisce Lucene distribuita per applicazioni .NET che utilizzano Lucene per la ricerca di testo completo. Lucene distribuito prende l'indice Lucene.NET standard e lo rende distribuito in modo da poter scalare l'indice Lucene su più NCache server anche in fase di esecuzione. Ciò non solo ti consente di aumentare la dimensione dell'indice, ma anche la capacità di transazione dell'applicazione perché la tua applicazione ora parla a più NCache server per Lucene.
Ecco alcuni punti salienti della funzione Lucene distribuita:
NCache ora fornisce un potente client Python sia su Windows che su Linux. Questo client Python ha tutte le funzionalità API lato client of NCache che tradizionalmente godevano i client .NET e Java.
NCache fornisce strumenti di importazione ed esportazione come cmdlet di PowerShell. Con questi strumenti, puoi importare o esportare dati JSON/CSV in formato NoSQL Database o fuori di esso. Ciò ti consente di estrarre tutto o parte del tuo NoSQL database.
Se hai selezionato NCache Provider di persistenza per NoSQL Database, quindi tutti i dati vengono conservati in più file situati in una cartella di rete condivisa (in base al percorso UNC).
È possibile utilizzare normali strumenti di backup/ripristino del filesystem su questi dati. Tuttavia, si prega di notare che NCache fornisce uno strumento di amministrazione (come PowerShell Cmdlet) per sospendere brevemente NCache scrive nella memoria permanente durante l'esecuzione del backup del filesystem. Tuttavia, tutte le scritture vengono eseguite sulla copia distribuita in memoria dei dati e registrate, quindi una volta terminato il backup, è possibile attivare le scritture sull'archiviazione di persistenza. E poi tutte quelle scritture vengono applicate all'archiviazione di persistenza nello stesso modo come se fossero in tempo reale.
Nonostante fornisca un meccanismo di backup online, si consiglia di selezionare un periodo di traffico ridotto per eseguire i backup. In futuro, NCache fornirà una funzionalità di backup completamente online per NCache Fornitore di persistenza di NoSQL Database dove puoi anche continuare a fare scritture durante il backup.
Tuttavia, se hai selezionato SQL Server o MongoDB come opzione di archiviazione, puoi utilizzare gli strumenti di backup/ripristino forniti da tali database, incluso il backup online.
Se hai già un'applicazione .NET che utilizza Lucene, è probabile che tu possa avere un indice Lucene abbastanza grande. NCache ti dà la possibilità di importare un indice Lucene esistente in NCache Lucene distribuito in blocco.
Questo è molto più veloce che ricreare quell'indice leggendo i documenti da esso e aggiungendo quei documenti NCache Indice di lucene distribuito. Il motivo è quello NCache Distributed Lucene copia i dati a livello di file di massa e non a livello di documento.
È possibile eseguire i seguenti tipi di importazione dell'indice Lucene.
Entrambe le opzioni di importazione dell'indice di Lucene sopra sono possibili tramite i cmdlet di PowerShell.
NCache partiziona e salva l'indice Lucene in un ambiente distribuito e su ciascuno NCache server. Inoltre, tutto l'indice viene archiviato come più file. Pertanto, puoi utilizzare normali strumenti di backup/ripristino del filesystem su di essi. Tuttavia, nella versione attuale di NCache, il backup online non viene fornito, quindi sarà necessario un tempo di inattività per garantire un backup corretto. Tuttavia, se la tua applicazione non aggiorna l'indice Distributed Lucene in fase di esecuzione, puoi anche eseguire backup online.
Il ripristino di un indice Lucene distribuito equivale al ripristino dei file del file system e quindi possibile. Potrebbe essere necessario riavviare la cache con le stesse informazioni di configurazione della distribuzione che avevi quando hai eseguito il backup.
NCache ora supporta completamente .NET 6.0. Tutti NCache I server sono compilati in .NET 6.0 (o .NET Framework 4.8 se hai scaricato quella versione). NCache i client sono anche .NET 6.0. Tuttavia, NCache fornisce anche supporto per versioni precedenti di entrambi .NET Core ed .NET Framework per NCache clienti.
NCache ora ti consente di utilizzare la serializzazione JSON per il tuo ASP.NET / ASP.NET Core sessioni. In precedenza, l'unica opzione disponibile era utilizzare la serializzazione binaria fornita da .NET. Abbiamo ancora l'opzione di serializzazione binaria ma in .NET 6.0, la serializzazione binaria è disabilitata per impostazione predefinita e non è consigliata.
La serializzazione JSON ha anche il vantaggio in cui i tuoi oggetti .NET non sono contrassegnati come "Serializzabili". In precedenza, era necessario apportare modifiche al codice per contrassegnare tutti gli oggetti come "Serializzabili" o utilizzare la funzionalità di serializzazione compatta di NCache. In entrambi i casi, ha richiesto molto lavoro extra per te.
Con la serializzazione JSON, devi solo apportare modifiche alle impostazioni di configurazione e non toccare affatto il codice e ora puoi iniziare a utilizzare oggetti che non sono serializzabili in ASP.NET / ASP.NET Core sessioni.
Per includere qualsiasi attributo oggetto in NCache Query SQL, devi prima indicizzarlo. In precedenza, l'unico modo per indicizzare era definire un indice come parte di NCache configurazione. Questo è ancora possibile e un buon modo per farlo.
Tuttavia, ora puoi definire gli indici di query a livello di codice utilizzando annotazioni personalizzate. Con questo, ora hai il pieno supporto di diversi modi per creare l'indice di query in NCache.
NCache ora supporta le proprietà nullable per la creazione di un indice e quindi il loro utilizzo nelle query SQL. Questa funzionalità viene fornita perché le proprietà e i campi .NET non possono accettare valori. Ma, in precedenza NCache non ha fornito supporto per la ricerca basata su valori nulli e ora lo fa.
NCache ora supporta gli indici geospaziali nella ricerca di testo completo con Lucene distribuita. Proprio come il normale indice Full Text Search Lucene, anche gli indici geospaziali utilizzano Lucene.NET internamente per supportare le query geospaziali. Il pacchetto NuGet per gli indici geospaziali è separato dal pacchetto NuGet dell'indice di ricerca full-text.
NCache ora supporta Faceted Search con Lucene distribuita. La ricerca sfaccettata è una tecnica che prevede l'aumento delle tecniche di ricerca tradizionali con un sistema di navigazione sfaccettato. Ciò consente all'utente di restringere i risultati della ricerca applicando più filtri basati su una classificazione sfaccettata degli elementi.
NCache fornisce un pacchetto NuGet per la ricerca sfaccettata con tutte le API necessarie per eseguire ricerche sfaccettate.
Poiché .NET CLR utilizza la memoria gestita, Garbage Collection e Frammentazione causano gravi problemi di prestazioni in qualsiasi applicazione server con transazioni elevate. NCache risolto questo problema in precedenza implementando un pool di oggetti molto intelligente e suddividendo anche oggetti più grandi in oggetti inferiori a 80, quindi LOH non viene utilizzato frequentemente.
Questa precedente ottimizzazione della memoria era già migliorata NCache prestazioni un po' per le "operazioni atomiche" più comunemente utilizzate come Ottieni, Inserisci, Aggiorna, Elimina di singoli elementi. Tuttavia, un certo numero di altre aree come operazioni in blocco, indici di query, ricerca SQL, ecc. non sono state completamente ottimizzate in questo modo e pertanto hanno comportato un uso frequente delle raccolte LOH e Gen2 e quindi non le migliori prestazioni.
Ora, questa versione di NCache ha ottimizzato la gestione della memoria in tutte queste aree che ha portato a prestazioni ancora più veloci di NCache tutto intorno.
Sono state apportate le seguenti ottimizzazioni:
NCache tradizionalmente veniva eseguito in un ambiente locale e quindi non era necessario utilizzare https per accedere NCache Gestore web. Ma ora che Azure, AWS e altri cloud stanno diventando molto diffusi, si verificano sempre più situazioni in cui un utente potrebbe aver bisogno di accedere NCache Web Manager tramite https.
NCache ora fornisce supporto per https per l'accesso NCache Gestore web. Per impostazione predefinita, è http ma puoi configurarlo per utilizzare https se disponi di un certificato.
NCache ha tradizionalmente richiesto di specificare NCache server in base al loro indirizzo IP e non ai nomi delle macchine. La ragione di ciò era che in molte situazioni, NCache i server dispongono di più schede di interfaccia di rete (NIC) e non sapevi a quale scheda di rete corrispondeva il nome della macchina. Pertanto, utilizzando l'indirizzo IP per NCache server e client è ancora il modo preferito.
Ma ora NCache ti dà la possibilità di specificare i nomi delle macchine invece dell'indirizzo IP, se lo desideri. È possibile specificare il nome della macchina per aggiungere un server cache o un client cache alla configurazione della cache. Allo stesso modo, tutte le visualizzazioni su NCache Web Manager continua a utilizzare gli indirizzi IP per impostazione predefinita.