According to this thread, Jedis è la cosa migliore da usare se voglio usare Redis da Java.Esiste un'alternativa Java incorporabile a Redis?
Tuttavia, mi chiedevo se ci sono librerie/pacchetti che forniscono operazioni di set efficiente in modo simile a quelli che già esistono in Redis, ma possono essere direttamente incorporati in un'applicazione Java senza la necessità di configurare server separati. (Ad esempio, utilizzando Jetty per il server Web).
Per essere più precisi, vorrei essere in grado di effettuare le seguenti operazioni in modo efficiente:
- ci sono un ampio insieme di utenti M (M non è noto in anticipo).
- C'è un ampio set di N elementi.
- Vogliamo che gli utenti esaminino gli articoli, un utente/elemento alla volta, che produce un risultato memorizzato (in un normale database)
- Ogni volta che arriva un utente, vogliamo assegnare a quell'utente l'elemento con il numero minimo di risultati esistenti che l'utente non ha già visto prima. Ciò produce un'assegnazione approssimativa del round-robin degli articoli a tutti gli utenti in arrivo, quando ci interessa solo ottenere tutti gli articoli guardati all'incirca allo stesso numero di volte.
Quanto sopra avviene in modo parallelo. Quando M e N sono grandi, Redis realizza quanto sopra in modo molto più efficiente rispetto alle query SQL. C'è un modo per farlo usando una libreria Java incorporabile che è un po 'più leggera rispetto all'avvio di un server Redis?
Riconosco che è possibile scrivere una pila di codice utilizzando le librerie di concurrency di Java che approssimativamente approssimativamente questo (e in qualche misura, l'ho fatto), ma non è esattamente quello che sto cercando qui.
sembra molto interessante ... così posso eseguire un'istanza a un nodo solo per le ricerche locali e roba? Controllerò. –
@AndrewMao Sì, supporta un singolo nodo. E ho aggiunto anche un collegamento alla struttura dati della tabella di Gauva. buona fortuna e buona caccia :-) – eSniff