Redis 7.0 ተለቀቀ

የ NoSQL ስርዓቶች ክፍል የሆነው የ Redis 7.0 DBMS ልቀት ታትሟል። Redis እንደ ዝርዝሮች፣ hashes እና ስብስቦች ባሉ የተዋቀሩ የውሂብ ቅርጸቶች በመደገፍ የተሻሻለ የቁልፍ/ዋጋ ውሂብን ለማከማቸት እንዲሁም በሉአ ውስጥ ከአገልጋይ ወገን ስክሪፕት ተቆጣጣሪዎችን የማሄድ ችሎታን ይሰጣል። የፕሮጀክት ኮድ በ BSD ፍቃድ ነው የቀረበው። እንደ RediSearch፣ RedisGraph፣ RedisJSON፣ RedisML፣ RedisBloom ያሉ ለኮርፖሬት ተጠቃሚዎች የላቀ ችሎታዎችን የሚያቀርቡ ተጨማሪ ሞጁሎች ከ2019 ጀምሮ በባለቤትነት RSAL ፈቃድ ቀርበዋል። የGoodFORM ፕሮጀክት፣ በቅርብ ጊዜ ቆሞ የነበረው፣ የእነዚህን ሞጁሎች ክፍት ስሪቶች በAGPLv3 ፍቃድ ለመቀጠል ሞክሯል።

እንደ Memcached ካሉ የማስታወሻ ማከማቻ ስርዓቶች በተለየ መልኩ፣ Redis ውሂብ በቋሚነት በዲስክ ላይ መከማቸቱን ያረጋግጣል እና በተበላሽ ጊዜ የመረጃ ቋቱ ሳይበላሽ መቆየቱን ያረጋግጣል። የፕሮጀክቱ ምንጭ ኮድ በ BSD ፍቃድ ተሰራጭቷል. የደንበኛ ቤተ-መጻሕፍት ፐርል፣ ፓይዘን፣ ፒኤችፒ፣ ጃቫ፣ Ruby እና Tcl ጨምሮ በጣም ታዋቂ ለሆኑ ቋንቋዎች ይገኛሉ። ሬዲስ ግብይቶችን ይደግፋል ፣ ይህም በአንድ እርምጃ የቡድን ትዕዛዞችን እንዲፈጽሙ ያስችልዎታል ፣ ይህም ወጥነት እና ወጥነት ያለው (የሌሎች ጥያቄዎች ትዕዛዞች ጣልቃ ሊገቡ አይችሉም) በተሰጡት ትዕዛዞች አፈፃፀም እና በችግሮች ጊዜ ወደ ኋላ እንዲመለሱ ያስችልዎታል። ለውጦች. ሁሉም መረጃዎች በ RAM ውስጥ ሙሉ በሙሉ ተከማችተዋል።

እንደ ጭማሪ/መቀነስ፣ መደበኛ ዝርዝር እና የቅንብር ኦፕሬሽኖች (ዩኒየን፣ መገናኛ)፣ ቁልፍ መቀየር፣ ብዙ ምርጫዎች እና የመደርደር ተግባራት ያሉ ትዕዛዞች ለውሂብ አስተዳደር ቀርበዋል። ሁለት የማከማቻ ሁነታዎች ይደገፋሉ፡ ወቅታዊ መረጃን ከዲስክ ጋር ማመሳሰል እና በዲስክ ላይ ያለውን የለውጥ መዝገብ መጠበቅ። በሁለተኛው ጉዳይ ላይ የሁሉም ለውጦች ሙሉ ደህንነት የተረጋገጠ ነው. በማገድ ባልሆነ ሁነታ የተከናወኑ የጌታ-ባሪያ ዳታ ማባዛትን ለብዙ አገልጋዮች ማደራጀት ይቻላል ። "አትም/ተመዝገብ" የሚል የመልእክት መላላኪያ ሁነታም አለ፣ በዚህ ውስጥ ሰርጥ የሚፈጠርበት፣ መልዕክቶች ለደንበኞች በደንበኝነት ይሰራጫሉ።

በRedis 7.0 ውስጥ ቁልፍ ለውጦች፡-

  • ለአገልጋይ-ጎን ተግባራት ድጋፍ ታክሏል። ቀደም ሲል በሉዋ ቋንቋ ውስጥ ካሉ ስክሪፕቶች በተለየ መልኩ ተግባራቶቹ ከመተግበሪያው ጋር የተሳሰሩ አይደሉም እና የአገልጋዩን አቅም የሚያሰፋ ተጨማሪ አመክንዮዎችን ለመተግበር ያለመ ነው። ተግባራት የሚከናወኑት ከመረጃው ጋር በማይነጣጠል መልኩ እና ከመረጃ ቋቱ ጋር በተገናኘ ነው እንጂ ከመተግበሪያው ጋር አይደለም፣ ተደጋግሞ በቋሚ ማከማቻ ውስጥ መከማቸትን ጨምሮ።
  • የACL ሁለተኛ እትም ቀርቧል፣ ይህም በቁልፍ ላይ ተመስርተው የውሂብ መዳረሻን እንዲቆጣጠሩ እና የተለያዩ መራጮችን (የፈቃድ ስብስቦችን) ከእያንዳንዱ ተጠቃሚ ጋር የማገናኘት ችሎታ ያላቸው ትዕዛዞችን ለማግኘት የተለያዩ ህጎችን እንዲገልጹ ያስችልዎታል። እያንዳንዱ ቁልፍ ከተወሰነ ባለስልጣን ጋር ሊታወቅ ይችላል, ለምሳሌ, የተወሰነ ንዑስ ክፍልን ለማንበብ ወይም ለመጻፍ ብቻ መድረስን መገደብ ይችላሉ.
  • በክላስተር ውስጥ የሚሰራ የመልእክት ማሰራጫ ዘዴ የተከፋፈለ (የተቆራረጠ) ትግበራ ቀርቧል፣ በዚህ ውስጥ መልእክት ወደ አንድ የተወሰነ መስቀለኛ መንገድ መልእክት ይላካል እና ከዚያ በኋላ ይህ መልእክት ወደተካተቱት ቀሪዎቹ አንጓዎች ይዛወራል። በሸርተቴ ውስጥ. ደንበኞች ከዋናው መስቀለኛ መንገድ እና ከክፍሉ ሁለተኛ አንጓዎች ጋር በማገናኘት ለሰርጥ በመመዝገብ መልዕክቶችን መቀበል ይችላሉ። ቁጥጥር የሚከናወነው የSSUBSCRIBE፣ SUNSUBSCRIBE እና SPUBLISH ትዕዛዞችን በመጠቀም ነው።
  • በአብዛኛዎቹ አውዶች ውስጥ ንዑስ ትዕዛዞችን ለማስኬድ ድጋፍ ታክሏል።
  • አዲስ ትዕዛዞች ታክለዋል፡-
    • ZMPOP፣ BZMPOP
    • LMPOP፣ BLMPOP
    • SINTERCARD, ZINTERCARD.
    • ማተም፣ ሰብስክራይብ ያድርጉ፣ SUNSUBSCRIBE፣ PUBSUB SHARDCHANNELS/SHARDNUMSUB።
    • EXPIRETIME፣ PEXPIRETIME
    • EVAL_RO፣ EVALSHA_RO፣ SORT_RO
    • ተግባር *፣ FCALL፣ FCALL_RO።
    • የትዕዛዝ ሰነዶች፣ የትዕዛዝ ዝርዝር።
    • የዘገየ ሂስቶግራም.
    • የክላስተር ሻርዶች፣ የክላስተር ማገናኛዎች፣ የክላስተር ዴልስሎትሬንጅ፣ የክላስተር ተጨማሪዎች።
    • ደንበኛ የለም-ማስወጣት።
    • ACL DrYRUN
  • በአንድ CONFIG SET/GET ጥሪ ውስጥ ብዙ ውቅሮችን በአንድ ጊዜ የማስኬድ ችሎታ ቀርቧል።
  • አማራጮች "-json", "-2", "-scan", "-functions-rdb" ወደ redis-cli መገልገያ ተጨምረዋል.
  • በነባሪ፣ ደህንነትን የሚነኩ የደንበኛ ወደ ቅንብሮች እና ትዕዛዞች መዳረሻ ተሰናክሏል (ለምሳሌ፣ የDEBUG እና MODULE ትዕዛዞች ተሰናክለዋል፣ የPROTECTED_CONFIG ባንዲራ ያላቸው ውቅሮችን መቀየር የተከለከለ ነው)። redis-cli ከአሁን በኋላ ሚስጥራዊነት ያለው መረጃ የያዙ ትዕዛዞችን ወደ ታሪክ ፋይል አያወጣም።
  • አፈጻጸምን ለመጨመር እና የማህደረ ትውስታ ፍጆታን ለመቀነስ የታለመ ትልቅ የማመቻቸት ስራ ገብቷል። ለምሳሌ፣ ክላስተር ሁነታን ሲያነቃ፣ ኮፒ ላይ መጻፍ ስራዎችን ሲያከናውን እና ከሃሽ እና ዝሴት ቁልፎች ጋር ሲሰራ የማህደረ ትውስታ ፍጆታ በእጅጉ ቀንሷል። ውሂብን ወደ ዲስክ (fsync ጥሪ) ለማፍሰስ የተሻሻለ አመክንዮ። ለደንበኛው ምላሾችን በሚልኩበት ጊዜ የአውታረ መረብ ፓኬቶች እና የስርዓት ጥሪዎች ቁጥር ቀንሷል። የማባዛት ውጤታማነት ተሻሽሏል።
  • የሉአ ስክሪፕቶችን ለማስፈፀም በአከባቢው ያለው ተጋላጭነት CVE-2022-24735 ተስተካክሏል ፣ ይህም የራስዎን የ Lua ኮድ ለመተካት እና አፈፃፀምን በሌላ ተጠቃሚ አውድ ውስጥ እንዲያሳኩ ያስችልዎታል ፣ ይህም ከፍተኛ መብቶችን ጨምሮ።
  • ቋሚ የተጋላጭነት CVE-2022-24736፣ ይህም የዳግም አገልጋዩ ሂደት በNULL ጠቋሚ ማጣቀሻ ምክንያት እንዲበላሽ ያስችለዋል። ጥቃቱ የሚከናወነው በልዩ ሁኔታ የተነደፉ የሉአ ስክሪፕቶችን በመጫን ነው።

ምንጭ: opennet.ru

አስተያየት ያክሉ