Versione di Redis 6.0

Preparatu Liberazione di DBMS Redis 6.0, appartene à a classa di sistemi NoSQL. Redis furnisce funzioni simili à Memcached per almacenà dati chjave / valore, rinfurzata da u supportu per formati di dati strutturati cum'è liste, hash, è setti, è a capacità di eseguisce scripts di gestione Lua di u servitore. Codice di prughjettu furnitu sottu licenza BSD. Moduli supplementari chì offrenu capacità avanzate per l'utilizatori di l'impresa cum'è RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom da l'annu passatu furnitu sottu a licenza RSAL proprietaria. U sviluppu di versioni aperte di sti moduli sottu a licenza AGPLv3 hè cuntinuatu da u prugettu GoodFORM.

A cuntrariu di Memcached, Redis furnisce un almacenamentu persistente di dati nantu à u discu è guarantisci a sicurità di a basa di dati in casu di un arrestu d'emergenza. U codice fonte di u prugettu hè distribuitu sottu a licenza BSD. I biblioteche di i clienti sò dispunibuli per a più lingue populari, cumprese Perl, Python, PHP, Java, Ruby è Tcl. Redis sustene e transazzione, chì permettenu di eseguisce un gruppu di cumandamenti in un passu, assicurendu a coherenza è a coherenza (i cumandamenti da altre dumande ùn ponu interferiscenu) in l'esekzione di un determinatu set di cumandamenti, è in casu di prublemi, chì vi permettenu di retrocede. cambiamenti. Tutti i dati sò cumpletamente cache in RAM.

Cumandamenti cum'è l'incrementu / decrementu, a lista standard è l'operazioni di set (unione, intersezzione), rinominazione di chjave, selezioni multiple è funzioni di sorte sò furnite per a gestione di dati. Dui modi di almacenamento sò supportati: sincronizazione periodica di dati à u discu è mantenimentu di un logu di cambiamentu nantu à u discu. In u sicondu casu, a sicurità cumpleta di tutti i cambiamenti hè garantita. Hè pussibule urganizà a replicazione di dati master-slave à parechji servitori, realizatu in modu senza bloccu. Un modu di messageria "pubblicà / abbonate" hè ancu dispunibule, in quale hè creatu un canale, i missaghji da quale sò distribuiti à i clienti per abbunamentu.

Chjave migliuràaghjuntu in Redis 6.0:

  • Per automaticamente, u novu protokollu RESP3 hè prupostu, ma a cunfigurazione di cunnessione principia in u modu RESP2 è u cliente cambia à u novu protokollu solu se u novu cumandamentu HELLO hè utilizatu quandu negozia a cunnessione. RESP3 permette di vultà direttamente tippi di dati cumplessi senza a necessità di cunvertisce array generici da u cliente è separà i tipi di ritornu.
  • Supportu di lista di cuntrollu di accessu (ACL), chì vi permette di determinà accuratamente quale operazioni ponu esse realizate da u cliente è quale ùn pò micca. L'ACL permettenu ancu di prutezzione contru i pussibuli errori durante u sviluppu, per esempiu, un gestore chì eseguisce solu l'operazione BRPOPLPUSH pò esse pruibitu di eseguisce altre operazioni, è se a chjama FLUSHALL aghjuntu durante u debugging hè scurdatu accidentalmente in u codice di produzzione, questu serà. ùn porta micca à prublemi. L'implementazione di una ACL ùn incurre micca alcunu overhead supplementu è ùn hà praticamente micca impattu nantu à u rendiment. I moduli di l'interfaccia sò stati ancu preparati per ACL, chì permettenu di creà i vostri metudi di autentificazione. Per vede tutte e violazioni ACL registrate, u cumandimu "ACL LOG" hè furnitu. Per generà chjave di sessione imprevisible, u cumandimu "ACL GENPASS" hè statu aghjuntu cù HMAC basatu in SHA256.
  • sustegnu SSL / TLS per criptà u canali di cumunicazione trà u cliente è u servitore.
  • sustegnu cache di dati da u latu di u cliente. Per cuncilià a cache di u cliente cù u statu di a basa di dati, sò dispunibuli dui modi: 1. Ricurdativi nantu à u servitore i chjavi chì u cliente hà dumandatu prima per informà nantu à a perdita di pertinenza di l'entrata in u cache di u cliente. 2. U mekanismu di "diffusione", in quale u cliente sottumette à certi prefissi chjave è u servitore l'avvisa se i chjavi chì cascanu sottu à sti prefissi cambianu. U vantaghju di u modu di "diffusione" hè chì u servitore ùn perde micca memoria supplementu per almacenà una mappa di valori in cache in u latu di u cliente, ma u svantaghju hè chì u numeru di missaghji trasmessi aumenta.
  • U broker di messagi Disque, chì vi permette di utilizà Redis per processà fila di messagi, hè stata eliminata da a struttura basica in modulu separatu.
  • Aggiuntu Cluster Proxy, un proxy per un cluster di servitori Redis, chì permette à un cliente di urganizà u travagliu cù parechji servitori Redis cum'è s'ellu era una sola istanza. U proxy pò indirizzà e dumande à i nodi cù i dati necessarii, e cunnessione multiplex, ricunfigurate u cluster se i fallimenti di i nodi sò rilevati, è eseguisce e dumande chì copre parechji nodi.
  • L'API per i moduli di scrittura hè stata mejorata significativamente, essenzialmente trasfurmendu Redis in un quadru chì permette di creà sistemi in forma di moduli add-on.
  • Un modu di replicazione hè statu implementatu in quale i schedari RDB sò immediatamente eliminati dopu chì sò stati utilizati.
  • U protocolu di replicazione PSYNC2 hè statu migliuratu, chì hà permessu di realizà a resincronizazione parziale più spessu, aumentendu e probabilità di identificà offsets cumuni à a replica è u maestru.
  • A carica di i schedari RDB hè stata accelerata. Sicondu u cuntenutu di u schedariu, l'accelerazione varieghja da 20 à 30%. L'esekzione di u cumandimu INFO hè stata accelerata significativamente quandu ci hè un gran numaru di clienti cunnessi.
  • Un novu cumandamentu STRALGO hè statu aghjuntu cù l'implementazione di l'algoritmi cumplessi di processazione di stringa. Attualmente, solu un algoritmu LCS (subsequenza cumuna più longa) hè dispunibule, chì pò esse utile quandu paragunate sequenze di RNA è DNA.

Source: opennet.ru

Add a comment