Tso tawm Redis 7.0 DBMS

Kev tso tawm ntawm Redis 7.0 DBMS, uas yog nyob rau hauv chav kawm ntawm NoSQL systems, tau luam tawm. Redis muab lub luag haujlwm rau khaws cov ntaub ntawv tseem ceeb / tus nqi, txhim kho los ntawm kev txhawb nqa rau cov ntaub ntawv tsim qauv xws li cov npe, hashes, thiab cov teeb tsa, nrog rau lub peev xwm los khiav server-sab ntawv sau hauv Lua. Txoj haujlwm code yog muab los ntawm BSD daim ntawv tso cai. Cov qauv ntxiv uas muaj peev xwm ua tau zoo rau cov neeg siv khoom lag luam, xws li RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, tau muab tso rau hauv daim ntawv tso cai RSAL txij li xyoo 2019. Txoj haujlwm GoodFORM, uas tsis ntev los no tau ua tsis tiav, sim txuas ntxiv kev txhim kho qhib cov qauv ntawm cov qauv no raws li daim ntawv tso cai AGPLv3.

Tsis zoo li hauv-nco cia systems xws li Memcached, Redis xyuas kom meej tias cov ntaub ntawv yog pheej khaws cia rau hauv disk thiab xyuas kom meej tias cov ntaub ntawv tseem nyob twj ywm thaum muaj kev sib tsoo. Qhov chaws ntawm qhov project yog muab faib raws li BSD daim ntawv tso cai. Cov tsev qiv ntawv cov neeg siv khoom muaj rau ntau hom lus, suav nrog Perl, Python, PHP, Java, Ruby, thiab Tcl. Redis txhawb nqa kev lag luam, uas tso cai rau koj ua tiav ib pab pawg ntawm cov lus txib hauv ib kauj ruam, ua kom muaj kev sib luag thiab sib xws (cov lus txib los ntawm lwm qhov kev thov tsis tuaj yeem cuam tshuam) hauv kev ua tiav ntawm cov lus txib, thiab thaum muaj teeb meem, tso cai rau koj thim rov qab. kev hloov. Tag nrho cov ntaub ntawv yog tag nrho cached hauv RAM.

Cov lus txib xws li increment/decrement, standard list and set operations (union, interruption), key renaming, multiple selections, and sorting functions are muab rau kev tswj cov ntaub ntawv. Muaj ob hom kev khaws cia tau txais kev txhawb nqa: lub sijhawm synchronization ntawm cov ntaub ntawv rau disk thiab txij nkawm ntawm kev hloov pauv ntawm disk. Nyob rau hauv rooj plaub thib ob, ua tiav kev nyab xeeb ntawm txhua qhov kev hloov pauv yog lav. Nws muaj peev xwm los npaj cov ntaub ntawv tus qhev rov qab mus rau ntau lub servers, nqa tawm hauv hom tsis thaiv. Ib qho "tshaj tawm / sau npe" hom kev xa xov kuj muaj, uas tsim cov channel, cov lus uas tau muab faib rau cov neeg siv khoom los ntawm kev tso npe.

Cov kev hloov pauv tseem ceeb hauv Redis 7.0:

  • Ntxiv kev txhawb nqa rau server-sab functions. Tsis zoo li yav dhau los cov ntawv txhawb nqa hauv Lua lus, cov haujlwm tsis raug khi rau hauv daim ntawv thov thiab tsom rau kev siv cov logic ntxiv uas nthuav dav lub peev xwm ntawm lub server. Cov haujlwm yog ua tiav inextricably nrog cov ntaub ntawv thiab cuam tshuam nrog cov ntaub ntawv, thiab tsis yog rau daim ntawv thov, suav nrog kev rov ua dua thiab khaws cia hauv qhov tsis tu ncua.
  • Ib tsab thib ob ntawm ACL tau tshaj tawm, uas tso cai rau koj los tswj kev nkag mus rau cov ntaub ntawv raws li cov yuam sij thiab tso cai rau koj los txhais cov txheej txheem sib txawv rau kev nkag mus rau cov lus txib nrog lub peev xwm los khi ntau tus neeg xaiv (cov ntawv tso cai) rau txhua tus neeg siv. Txhua tus yuam sij tuaj yeem raug txheeb xyuas nrog ib txoj cai tshwj xeeb, piv txwv li, koj tuaj yeem txwv kev nkag mus rau kev nyeem ntawv lossis sau qee yam ntawm cov yuam sij.
  • Ib qho kev faib tawm (sharded) kev siv ntawm Publish-Subscribe cov lus xa tawm cov lus qhia khiav hauv ib pawg yog muab, nyob rau hauv uas cov lus raug xa mus rau ib qho tshwj xeeb ntawm cov kab lus uas txuas nrog, tom qab uas cov lus no tau xa rov qab mus rau qhov seem ntawm cov nodes suav nrog. hauv shard. Cov neeg siv khoom tuaj yeem tau txais cov lus los ntawm kev tso npe rau hauv ib lub channel, ob qho tib si los ntawm kev txuas mus rau lub ntsiab ntawm lub ntsiab thiab mus rau qhov thib ob ntawm ntu. Kev tswj tau ua tiav siv SSUBSCRIBE, SUNSUBSCRIBE thiab SPUBLISH cov lus txib.
  • Ntxiv kev txhawb nqa rau kev ua cov lus txib hauv ntau lub ntsiab lus.
  • Cov lus txib tshiab ntxiv:
    • ZMPOP, PEB.
    • LMPOP, PEB.
    • SINTERCARD, ZINTERCARD.
    • SUAB HMONG NEWS, SIB HLUB, SUNSUBSCRIBE, PUBSUB SHARDCHANNELS/SHARDNUMSUB.
    • EXPIRETIME, PEXPIRETIME.
    • EVAL_RO, EVALSHA_RO, SORT_RO.
    • FUNCTION *, FCALL, FCALL_RO.
    • COMMAND DOCS, COMMANAND LIST.
    • LATENCY HISTOGRAM.
    • CLUSTER SHARDS, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
    • Client NO-EVICT.
    • ACL DR.
  • Lub peev xwm los ua ntau yam kev teeb tsa ib zaug hauv ib qho CONFIG SET / GET hu tau muab.
  • Cov kev xaiv "-json", "-2", "-scan", "-functions-rdb" tau ntxiv rau redis-cli utility.
  • Los ntawm lub neej ntawd, tus neeg siv nkag mus rau cov chaw thiab cov lus txib uas cuam tshuam rau kev ruaj ntseg yog neeg xiam (piv txwv li, DEBUG thiab MODULE cov lus txib raug cuam tshuam, hloov kev teeb tsa nrog PROTECTED_CONFIG chij yog txwv). Redis-cli tsis tso tawm cov lus txib uas muaj cov ntaub ntawv rhiab rau cov ntaub ntawv keeb kwm.
  • Ib feem loj ntawm kev ua kom zoo tau raug qhia txhawm rau ua kom muaj kev ua tau zoo thiab txo qis kev siv lub cim xeeb. Piv txwv li, kev siv lub cim xeeb tau txo qis thaum ua kom muaj kev sib koom ua ke, thaum ua haujlwm luam-on-sau, thiab thaum ua haujlwm nrog hashes thiab zset yuam sij. Txhim kho logic rau ntws cov ntaub ntawv rau disk (fsync hu). Tus naj npawb ntawm cov pob ntawv network thiab kev hu xov tooj thaum xa cov lus teb rau tus neeg siv tau raug txo qis. Replication efficiency tau txhim kho.
  • Qhov tsis zoo CVE-2022-24735 nyob rau hauv ib puag ncig rau kev ua tiav Lua scripts tau raug kho, uas tso cai rau koj los hloov koj tus kheej Lua code thiab ua tiav nws qhov kev ua tiav hauv cov ntsiab lus ntawm lwm tus neeg siv, suav nrog ib qho uas muaj cai ntau dua.
  • Kho qhov tsis zoo CVE-2022-24736, uas tso cai rau cov txheej txheem redis-server poob vim NULL pointer dereference. Kev tawm tsam yog nqa tawm los ntawm kev thauj khoom tshwj xeeb tsim Lua scripts.

Tau qhov twg los: opennet.ru

Ntxiv ib saib