Versió de Redis 6.0

Preparat Alliberament de DBMS Redis 6.0, pertanyent a la classe de sistemes NoSQL. Redis proporciona funcions semblants a Memcached per emmagatzemar dades de clau/valor, millorades gràcies al suport per a formats de dades estructurades com ara llistes, hash i conjunts, i la capacitat d'executar scripts de controlador Lua al costat del servidor. Codi del projecte subministrat sota llicència BSD. Mòduls addicionals que ofereixen capacitats avançades per a usuaris empresarials, com ara RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom des de l'any passat subministrat sota la llicència de propietat RSAL. El projecte continua amb el desenvolupament de versions obertes d'aquests mòduls sota la llicència AGPLv3 GoodFORM.

A diferència de Memcached, Redis proporciona emmagatzematge persistent de dades al disc i garanteix la seguretat de la base de dades en cas d'aturada d'emergència. El codi font del projecte es distribueix sota la llicència BSD. Les biblioteques de client estan disponibles per als idiomes més populars, com ara Perl, Python, PHP, Java, Ruby i Tcl. Redis admet transaccions, que us permeten executar un grup d'ordres en un sol pas, assegurant la coherència i la coherència (les ordres d'altres peticions no poden interferir) en l'execució d'un determinat conjunt d'ordres i, en cas de problemes, us permeten retrocedir. canvis. Totes les dades s'emmagatzemen completament a la memòria cau a la memòria RAM.

Per a la gestió de dades s'ofereixen ordres com ara increment/disminució, llista estàndard i operacions de conjunt (unió, intersecció), canvi de nom de tecles, seleccions múltiples i funcions d'ordenació. S'admeten dos modes d'emmagatzematge: sincronització periòdica de dades al disc i manteniment d'un registre de canvis al disc. En el segon cas, es garanteix la total seguretat de tots els canvis. És possible organitzar la replicació de dades mestre-esclau a diversos servidors, realitzada en mode no bloquejant. També hi ha disponible un mode de missatgeria “publicar/subscriure”, en el qual es crea un canal, des del qual es distribueixen missatges als clients per subscripció.

Clau milloresafegit a Redis 6.0:

  • Per defecte, es proposa el nou protocol RESP3, però la configuració de la connexió comença en mode RESP2 i el client canvia al nou protocol només si s'utilitza la nova ordre HELLO quan es negocia la connexió. RESP3 us permet retornar directament tipus de dades complexos sense necessitat de convertir matrius genèriques al costat del client i separant els tipus de retorn.
  • Suport a la llista de control d'accés (ACL), que us permet determinar amb precisió quines operacions pot realitzar el client i quines no. Les ACL també permeten protegir contra possibles errors durant el desenvolupament, per exemple, un controlador que només realitza l'operació BRPOPLPUSH no pot executar altres operacions, i si la trucada FLUSHALL afegida durant la depuració s'oblida accidentalment al codi de producció, això no donar lloc a problemes. La implementació d'una ACL no comporta cap sobrecàrrega addicional i pràcticament no té cap impacte en el rendiment. També s'han preparat mòduls d'interfície per a ACL, que permeten crear els vostres propis mètodes d'autenticació. Per veure totes les violacions d'ACL registrades, es proporciona l'ordre "ACL LOG". Per generar claus de sessió impredictibles, s'ha afegit l'ordre "ACL GENPASS" mitjançant HMAC basat en SHA256.
  • suport SSL / TLS xifrar el canal de comunicació entre el client i el servidor.
  • suport emmagatzemar dades a la memòria cau al costat del client. Per conciliar la memòria cau del client amb l'estat de la base de dades es disposen de dues modalitats: 1. Recordar al servidor les claus que el client demanava prèviament per tal d'informar-li de la pèrdua de rellevància de l'entrada a la memòria cau del client. 2. El mecanisme de “difusió”, en què el client es subscriu a determinats prefixos de clau i el servidor li notifica si canvien les claus que pertanyen a aquests prefixos. L'avantatge del mode "difusió" és que el servidor no malgasta memòria addicional en emmagatzemar un mapa de valors en memòria cau al costat del client, però el desavantatge és que augmenta el nombre de missatges transmesos.
  • L'agent de missatges de Disque, que us permet utilitzar Redis per processar cues de missatges, s'ha eliminat de l'estructura bàsica a mòdul separat.
  • Afegit Proxy de clúster, un servidor intermediari per a un clúster de servidors Redis, que permet a un client organitzar el treball amb diversos servidors Redis com si fossin una sola instància. El servidor intermediari pot encaminar sol·licituds als nodes amb les dades necessàries, multiplexar connexions, reconfigurar el clúster si es detecten errors de nodes i executar sol·licituds que abasten diversos nodes.
  • L'API per escriure mòduls s'ha millorat significativament, convertint essencialment Redis en un marc que permet crear sistemes en forma de mòduls addicionals.
  • S'ha implementat un mode de replicació en què els fitxers RDB s'eliminen immediatament després d'haver-los utilitzat.
  • S'ha millorat el protocol de replicació PSYNC2, que ha permès realitzar una resincronització parcial amb més freqüència, augmentant les possibilitats d'identificar offsets comuns a la rèplica i al mestre.
  • S'ha accelerat la càrrega dels fitxers RDB. Depenent del contingut del fitxer, l'acceleració oscil·la entre el 20 i el 30%. L'execució de l'ordre INFO s'ha accelerat significativament quan hi ha un gran nombre de clients connectats.
  • S'ha afegit una nova ordre STRALGO amb la implementació d'algorismes complexos de processament de cadenes. Actualment, només hi ha disponible un algorisme LCS (subseqüència comuna més llarga), que pot ser útil a l'hora de comparar seqüències d'ARN i ADN.

Font: opennet.ru

Afegeix comentari