NoSQL á áá áºáá»á¬ážá á¡áááºážá¡á á¬ážá០ááá¯ááºááá¯ááºáá±á¬ Redis 7.0 DBMS ááᯠáá¯ááºáá±ááá¯ááºáá«ááŒá®á Redis ááẠá á¬áááºážáá»á¬ážá hashes ááŸáá·áº sets áá»á¬ážáá²á·ááá¯á· áááºáá±á¬ááºáá¬ážáá±á¬ áá±áá¬áá±á¬áºáááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ááŒáá·áº ááŒáŸáá·áºáááºáá±ážááá·áºá¡ááŒáẠLua ááœáẠáá¬áá¬áááºááŒááºáž script handlers áá»á¬ážááᯠáá¯ááºáá±á¬ááºááá¯ááºááŸá¯ááá¯á·ááŒá±á¬áá·áº Redis ááẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá ááá±á¬áá»ááºáá¯ááºááᯠBSD ááá¯ááºá ááºá¡á±á¬ááºááœáẠáá¶á·ááá¯ážáá¬ážáááºá RediSearchá RedisGraphá RedisJSONá RedisMLá RedisBloom áá²á·ááá¯á·áá±á¬ áá±á¬áºááá¯ááááºá¡áá¯á¶ážááŒá¯áá°áá»á¬ážá¡ááœáẠá¡ááá·áºááŒáá·áºá áœááºážáá±á¬ááºáááºáá»á¬ážááᯠáá±ážáá±á¬ááºááá·áº á¡ááᯠmodule áá»á¬ážááᯠ2019 áá¯ááŸá áºááááºážá RSAL ááá¯ááºá ááºáá áºáá¯á¡á±á¬ááºááœáẠáá±á¬ááºáá¶á·áá±ážáá¬ážáá«áááºá áááŒá¬áá±ážáá®á áááºááá·áºááœá¬ážáá²á·áá±á¬ GoodFORM ááá±á¬áá»ááºááẠAGPLv3 ááá¯ááºá ááºá¡á±á¬ááºááœáẠဠmodule áá»á¬ážá á¡ááœáá·áºáá¬ážááŸááºážáá»á¬áž ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážááᯠáááºáááºááŒáá¯ážá á¬ážáá²á·áááºá
Memcached áá²á·ááá¯á·áá±á¬ áááºááá¯áá®á¡ááœááºážááá¯ááŸá±á¬ááºááŸá¯á áá áºáá»á¬ážááŸáá·áºááá°áá² Redis ááẠá¡áá»ááºá¡áááºáá»á¬ážááᯠáá áºááºáá±á«áºááœáẠá¡ááŒá²áááŒááºááááºážáááºážáá¬ážááŒá±á¬ááºáž áá±áá»á¬á á±ááŒá®áž áá»ááºá á®ážááŸá¯áá áºáá¯ááŒá áºááœá¬ážááá·áºá¡áá«ááœáẠáá±áá¬áá±á·á áºááẠáááá¯á¡ááá¯ááºážááŸááá±ááŒá±á¬ááºáž áá±áá»á¬á á±áááºá ááá±á¬áá»ááºá á¡áááºážá¡ááŒá áºáá¯ááºááᯠBSD ááá¯ááºá ááºá¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážáááºá Client á á¬ááŒáá·áºááá¯ááºáá»á¬ážááẠPerlá Pythoná PHPá Javaá Ruby ááŸáá·áº Tcl á¡áá«á¡ááẠáá±áááºážá¡á á¬ážáá¯á¶ážáá¬áá¬á áá¬ážáá»á¬ážá¡ááœáẠáááá¯ááºáá«áááºá Redis ááẠáá±ážáá¬ážáá±á¬ command á¡á á¯á¶ááᯠáá¯ááºáá±á¬ááºáá¬ááœáẠááá·áºá¡á¬áž áá±ážáá¬ážáá±á¬ commands á¡á á¯á¡áá±ážááᯠáá¯ááºáá±á¬ááºáá¬ááœáẠáá®ááœááºááŸá¯ááŸáá·áº áá®ááœááºááŸá¯ááᯠáá±áá»á¬á á±áá±á¬ (á¡ááŒá¬ážáá±á¬ááºážááá¯ááŸá¯áá»á¬ážá០á¡ááŸá±á¬áá·áºá¡ááŸááºáááŒá áºááá¯ááº) ááŸáá·áº á¡áááºáááŒá±ááŸá¯áá»á¬ážááŸááá«áá á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážá áá±áá¬á¡á¬ážáá¯á¶ážááᯠRAM ááœáẠá¡ááŒáá·áºá¡á ááááºážáááºážáá¬ážáááºá
ááá¯ážááŒáŸáá·áºááŒááºáž/áá»á±á¬á·áá»ááŒááºážá á á¶á á¬áááºážááŸáá·áº áááºááŸááºáá¯ááºáá±á¬ááºááŸá¯áá»á¬áž (áááá¹áá áááºážáá¯á¶)á áá±á¬á·á¡áááºááŒá±á¬ááºážááŒááºážá ááœá±ážáá»ááºááŸá¯á¡áá»á¬ážá¡ááŒá¬ážááŸáá·áº á á®ááŒááºážáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážáá²á·ááá¯á·áá±á¬ ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠáá±áá¬á á®áá¶ááá·áºááœá²ááŸá¯á¡ááœáẠáá¶á·ááá¯ážáá±ážáá«áááºá ááá¯ááŸá±á¬ááºááŸá¯áá¯ááºááŸá áºáá¯ááᯠáá¶á·ááá¯ážáá¬ážáááº- áá±áá¬ááᯠáá áºááºááá¯á· á¡áá»áááºá¡áá«á¡ááá¯áẠáááºáá°ááŒá¯ááŒááºážááŸáá·áº áá áºááºááŸá ááŒá±á¬ááºážáá²ááŸá¯ááŸááºáááºážááᯠááááºážááááºážááŒááºážá áá¯áááááá á¹á ááœááºá ááŒá±á¬ááºážáá²ááŸá¯á¡á¬ážáá¯á¶ážá áá±ážáááºážáá¯á¶ááŒá¯á¶ááŸá¯ááᯠá¡á¬ááá¶áá«áááºá ááááºááá¯á·ááŒááºážáááŒá¯áá±á¬áá¯ááºááœáẠáá¯ááºáá±á¬ááºááá·áº áá¬áá¬áá»á¬ážá áœá¬áᶠmaster-slave áá±áá¬áá¯á¶áá°ááœá¬ážááŸá¯ááᯠá á¯á ááºážááẠááŒá áºááá¯ááºáááºá "áá¯ááºáá±/á á¬áááºážááœááºážááŒááºáž" á á¬ááá¯áá±ážááá¯á·ááŒááºážáá¯ááºááᯠáá»ááºáááºáá áºáá¯áááºáá®ážááŒá®áž á á¬áááºážááœááºážááŸá¯ááŒáá·áº áá¯á¶ážá áœá²áá°áá»á¬ážáᶠááŒáá·áºáá±áá¬ážááá·áº áááºáá±á·áá»áºáá»á¬ážááá¯áááºáž áááŸáááá¯ááºáá«áááºá
Redis 7.0 ááœáẠá¡áááááŒá±á¬ááºážáá²ááŸá¯áá»á¬áž-
- áá¬áá¬áááºááŒááºážáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááºááá·áºáá¬ážáááºá Lua áá¬áá¬á áá¬ážááœáẠááááºá áá¶á·ááá¯ážáá±ážáá¬ážáá±á¬ script áá»á¬ážááŸáá·áº ááá°áá²á áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááẠá¡ááá®áá±ážááŸááºážááŸáá·áº ááá»áááºáááºáá² áá¬áá¬á áá¯ááºáá±á¬ááºááá¯ááºá áœááºážáá»á¬ážááᯠáá»á²á·ááœááºááá·áº á¡ááá¯áá±á¬ááºážáá¯áá¹ááááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠáááºááœááºáá«áááºá áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá±áá¬ááŸáá·áº áá±áá¬áá±á·á áºááŸáá·áº áááºááœáŸááºá ááŸá¯ááºááœá±ážá áœá¬ ááá¯ááºáá±á¬ááºááá¯ááºáá²á áááºáá°ááœá¬ážáᬠááŒá²ááŒá²ááááºážáááºážáá¬ážááá·áº ááá¯ááŸá±á¬ááºááŸá¯ááœáẠááááºážáááºážááŒááºáž á¡áá«á¡ááẠá¡ááá®áá±ážááŸááºážááŸáá·áº ááááºááá¯ááºáá«á
- áá±á¬á·áá»á¬ážááá¯á¡ááŒá±áá¶á áá±áá¬áááºáá±á¬ááºááœáá·áºááᯠááááºážáá»á¯ááºááá¯ááºá á±ááá·áº ACL á áá¯ááááá¯ááºáá±ááŸá¯ááᯠá¡ááá¯ááŒá¯áá¬ážááŒá®áž áá¯á¶ážá áœá²áá°áá áºáŠážá á®áᶠááœá±ážáá»ááºááœáá·áºá¡áá»á¬ážá¡ááŒá¬áž (ááœáá·áºááŒá¯áá»ááºá¡á á¯á¶) ááœá²áá¬ážááá¯ááºááá·áº ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠáááºáá±á¬ááºááŒááºážá¡ááœáẠááœá²ááŒá¬ážááŒá¬ážáá¬ážáá±á¬ á ááºážáá»á¥áºážáá»á¬ážááᯠáááºááŸááºááẠááœáá·áºááŒá¯áá¬ážáááºá áá±á¬á·áá áºáá¯á á®ááᯠáá®ážááŒá¬ážá¡ááœáá·áºá¡á¬áá¬áá áºáá¯ááŒáá·áº áá±á¬áºáá¯ááºááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠáá±á¬á·á¡áá»áá¯á·á á¡áá»áá¯ážá¡á á¬ážááœá²áá áºáá¯ááá¯áᬠá á¬áááºááŒááºáž ááá¯á·ááá¯áẠáá±ážáá¬ážááŒááºážááá¯á·ááá¯áᬠááá·áºáááºááá¯ááºáááºá
- Partition-Subscribe Substercribe áááºáá±á·ááºá»ááá¯ááŒáá·áºááŒá°ážáá±ážááá¯ááºáá¬ááŒáá·áºááŒá°ážáá±ážáá«áá¬ááá¯ááºážááá¯á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážáá»á¬ážááá¯á¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážáá¶ááááºá shard áá áá±á¬ááºáááºáá»á¬ážááẠáááºá node ááŸáá·áº ááá¹áá áá¯ááááá¯á¶ááŸááºáá»á¬ážááá¯á· áá»áááºáááºááŒááºážááŒáá·áº áá»ááºáááºáá áºáá¯ááá¯á· á á¬áááºážááœááºážááŒááºážááŒáá·áº áááºáá±á·áá»áºáá»á¬ážááᯠáááºáá¶áááŸáááá¯ááºáá«áááºá SSUBSCRIBEá SUNSUBSCRIBE ááŸáá·áº SPUBLISH ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á ááááºážáá»á¯ááºááŸá¯ááᯠáá¯ááºáá±á¬ááºáááºá
- á¡ááŒá±á¬ááºážá¡áá¬á¡áá»á¬ážá á¯ááœáẠááœááºááá·áºáá»á¬ážáá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠáá¶á·ááá¯ážááŸá¯ áááºáá±á¬ááºážááá·áºáá¬ážáááºá
- ááœáŸááºááŒá¬ážáá»ááºá¡áá
áºáá»á¬áž ááá·áºááœááºážáá¬ážáááº-
- ZMPOPá BZMPOPá
- LMPOPá BLMPOPá
- SINTERCARDá ZINTERCARDá
- áá¯ááºáá±áááºá á á¬áááºážááœááºážáá«á áá»ááºáá¬ážáá²á·áá«á PUBSUBSHARDCHANNELS/SHARDNUMSUBá
- áááºáááºážáá¯ááºáá¯á¶ážáá»áááºá PEXPIRETIMEá
- EVAL_ROá EVALSHA_ROá SORT_ROá
- FUNCTION *á FCALLá FCALL_ROá
- ááœááºáá²ááŸá¯á á¬ááœááºá á¬áááºážáá»á¬ážá ááœááºáá²ááŸá¯á á¬áááºážá
- á á±á¬áá·áºáá±áá»ááẠáááá¯ááºážááŸááºáááºážá
- CLUSTER SHARDSá CLUSTER ááá·áºááºáá»á¬ážá CLUSTER DELSLOTSRANGEá CLUSTER ADDSLOTSRANGEá
- áá±á¬ááºáááºá០ááŸááºáá¯ááºááŒááºážáááŸááá«á
- ACL DRYRUN
- CONFIG SET/GET áá±á«áºááá¯ááŸá¯áá áºáá¯ááœáẠá¡áá»á¬ážá¡ááŒá¬ážááœá²á·á ááºážáá¯á¶áá»á¬ážááᯠáá áºááŒáá¯ááºáááºáááºáž áá¯ááºáá±á¬ááºááá¯ááºá áœááºážááᯠáá±ážáá±á¬ááºáá¬ážáá«áááºá
- ááœá±ážá áá¬áá»á¬áž â-jsonâá â-2âá â-scanâá â-functions-rdbâ ááᯠredis-cli utility ááœáẠááá·áºááœááºážáá¬ážáááºá
- áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áá¯á¶ááŒá¯á¶áá±ážááᯠáááºáá±á¬ááºááŸá¯ááŸááá±á¬ áááºáááºáá»á¬ážááŸáá·áº ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááá¯á· áááá¯ááºážááá·áºáááºáá±á¬ááºááœáá·áºááᯠááááºáá¬ážááẠ(á¥ááá¬á DEBUG ááŸáá·áº MODULE ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠááááºáá¬ážáááºá PROTECTED_CONFIG á¡áá¶ááŸáá·áº ááœá²á·á ááºážááŸá¯áá¯á¶á á¶áá»á¬ážááᯠááŒá±á¬ááºážáá²ááŒááºážááᯠáá¬ážááŒá áºáá¬ážáááº)á Redis-cli ááẠááŸááºáááºážááá¯ááºááá¯á· á¡ááááá¯ááºááá¶áá±á¬áá±áá¬áá»á¬ážáá«ááŸááá±á¬ á¡áááá·áºáá»á¬ážááᯠáá¯ááºááá±ážáá±á¬á·áá«á
- á áœááºážáá±á¬ááºááẠááá¯ážááŒáá·áºáááºááŸáá·áº ááŸááºáá¬ááºáá¯á¶ážá áœá²ááŸá¯ááᯠáá»áŸá±á¬á·áá»ááẠáááºááœááºá áá±á¬ááºážááœááºá¡á±á¬ááºááŒááºáááºááŸá¯ á¡áá»á¬ážá¡ááŒá¬ážááᯠááááºáááºáá±ážáá²á·áááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡á á¯á¡áá±ážáá¯ááºááá¯ááœáá·áºááá·áºá¡áá«á áá±á¬áºáá®áá±á«áºááŸáá±ážááá·áºáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááá¯áá¯ááºáá±á¬ááºááá·áºá¡áá«ááŸáá·áº hashes ááŸáá·áº zset áá±á¬á·áá»á¬ážááŒáá·áºá¡áá¯ááºáá¯ááºááá·áºá¡áá«ááœáẠááŸááºáá¬ááºáá¯á¶ážá áœá²ááŸá¯ áááááá¬áá¬áá»á±á¬á·áá»ááœá¬ážáá«áááºá áá±áá¬ááᯠáá áºááºááá¯á· ááœá²áá»ááŒááºáž (fsync áá±á«áºááá¯ááŸá¯) á¡ááœáẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ áá¯áá¹áááá±áá áá¯á¶ážá áœá²áá°áᶠáá¯á¶á·ááŒááºááŸá¯áá»á¬ážááᯠáá±ážááá¯á·ááá·áºá¡áá« ááœááºáááºáááºáááºáá»á¬ážááŸáá·áº á áá áºáá±á«áºááá¯ááŸá¯á¡áá±á¡ááœááºááᯠáá»áŸá±á¬á·áá»áá¬ážáááºá áá°ážáá°ááŸá¯ á áœááºážáá±á¬ááºáááºááᯠááŒáŸáá·áºáááºáá¬ážáááºá
- Lua scripts áá»á¬ážááᯠáá¯ááºáá±á¬ááºáááºá¡ááœáẠáááºáááºážáá»ááºááŸá á¡á¬ážáááºážáá»áẠCVE-2022-24735 ááᯠááŒááºáááºááŒá®ážááŒá áºáááºá áááºážááẠááá·áºááá¯ááºááá¯áẠLua áá¯ááºááᯠá¡á á¬ážááá¯ážááá¯ááºááŒá®áž ááá¯ááá¯á¡ááœáá·áºáá°ážáá»á¬ážááŸáááá·áº á¡ááŒá¬ážá¡áá¯á¶ážááŒá¯áá°áá áºáŠážá á¡ááŒá±á¡áá±ááœáẠáááºážááá¯ááºáá±á¬ááºááŸá¯ááᯠá¡á±á¬ááºááŒááºá á±áááºá
- NULL pointer dereference ááŒá±á¬áá·áº redis-server áá¯ááºáááºážá áẠáá»ááºá á®ážááœá¬ážá¡á±á¬áẠááŒá¯ááŒááºáá¬ážáá±á¬ á¡á¬ážáááºážáá»áẠCVE-2022-24736á ááá¯ááºááá¯ááºááŸá¯ááᯠá¡áá°ážáá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬ Lua script áá»á¬ážáááºááŒááºážááŒáá·áº áá¯ááºáá±á¬ááºáááºá
source: opennet.ru