Memcached ááŸáá·áºááá°áá² Redis ááẠáá áºááºáá±á«áºááŸá áá±áá¬áá»á¬ážááᯠáááºááá¯ááºááááºážáááºážáá±ážáᬠá¡áá±ážáá±á«áºááááºááœá¬ážááá·áºá¡áá« áá±áá¬áá±á·á áºááá±ážáááºážááŸá¯ááᯠá¡á¬ááá¶áá«áááºá ááá±á¬áá»ááºá á¡áááºážá¡ááŒá áºáá¯ááºááᯠBSD ááá¯ááºá ááºá¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážáááºá Client á á¬ááŒáá·áºááá¯ááºáá»á¬ážááẠPerlá Pythoná PHPá Javaá Ruby ááŸáá·áº Tcl á¡áá«á¡ááẠáá±áááºážá¡á á¬ážáá¯á¶ážáá¬áá¬á áá¬ážáá»á¬ážá¡ááœáẠáááá¯ááºáá«áááºá Redis ááẠáá±ážáá¬ážáá±á¬ command á¡á á¯á¶ááᯠáá¯ááºáá±á¬ááºáá¬ááœáẠááá·áºá¡á¬áž áá±ážáá¬ážáá±á¬ commands á¡á á¯á¡áá±ážááᯠáá¯ááºáá±á¬ááºáá¬ááœáẠáá®ááœááºááŸá¯ááŸáá·áº áá®ááœááºááŸá¯ááᯠáá±áá»á¬á á±áá±á¬ (á¡ááŒá¬ážáá±á¬ááºážááá¯ááŸá¯áá»á¬ážá០á¡ááŸá±á¬áá·áºá¡ááŸááºáááŒá áºááá¯ááº) ááŸáá·áº á¡áááºáááŒá±ááŸá¯áá»á¬ážááŸááá«áá á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážá áá±áá¬á¡á¬ážáá¯á¶ážááᯠRAM ááœáẠá¡ááŒáá·áºá¡á ááááºážáááºážáá¬ážáááºá
ááá¯ážááŒáŸáá·áºááŒááºáž/áá»á±á¬á·áá»ááŒááºážá á á¶á á¬áááºážááŸáá·áº áááºááŸááºáá¯ááºáá±á¬ááºááŸá¯áá»á¬áž (áááá¹áá áááºážáá¯á¶)á áá±á¬á·á¡áááºááŒá±á¬ááºážááŒááºážá ááœá±ážáá»ááºááŸá¯á¡áá»á¬ážá¡ááŒá¬ážááŸáá·áº á á®ááŒááºážáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážáá²á·ááá¯á·áá±á¬ ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠáá±áá¬á á®áá¶ááá·áºááœá²ááŸá¯á¡ááœáẠáá¶á·ááá¯ážáá±ážáá«áááºá ááá¯ááŸá±á¬ááºááŸá¯áá¯ááºááŸá áºáá¯ááᯠáá¶á·ááá¯ážáá¬ážáááº- áá±áá¬ááᯠáá áºááºááá¯á· á¡áá»áááºá¡áá«á¡ááá¯áẠáááºáá°ááŒá¯ááŒááºážááŸáá·áº áá áºááºááŸá ááŒá±á¬ááºážáá²ááŸá¯ááŸááºáááºážááᯠááááºážááááºážááŒááºážá áá¯áááááá á¹á ááœááºá ááŒá±á¬ááºážáá²ááŸá¯á¡á¬ážáá¯á¶ážá áá±ážáááºážáá¯á¶ááŒá¯á¶ááŸá¯ááᯠá¡á¬ááá¶áá«áááºá ááááºááá¯á·ááŒááºážáááŒá¯áá±á¬áá¯ááºááœáẠáá¯ááºáá±á¬ááºááá·áº áá¬áá¬áá»á¬ážá áœá¬áᶠmaster-slave áá±áá¬áá¯á¶áá°ááœá¬ážááŸá¯ááᯠá á¯á ááºážááẠááŒá áºááá¯ááºáááºá "áá¯ááºáá±/á á¬áááºážááœááºážááŒááºáž" á á¬ááá¯áá±ážááá¯á·ááŒááºážáá¯ááºááᯠáá»ááºáááºáá áºáá¯áááºáá®ážááŒá®áž á á¬áááºážááœááºážááŸá¯ááŒáá·áº áá¯á¶ážá áœá²áá°áá»á¬ážáᶠááŒáá·áºáá±áá¬ážááá·áº áááºáá±á·áá»áºáá»á¬ážááá¯áááºáž áááŸáááá¯ááºáá«áááºá
áá±á¬á·
- áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá RESP3 áááá¯ááá¯áá±á¬á¡áá áºááᯠá¡ááá¯ááŒá¯áá¬ážáá±á¬áºáááºáž áá»áááºáááºááŸá¯á áá áºá¡á¬áž RESP2 áá¯ááºááœáẠá áááºáááºááŒá áºááŒá®áž áá»áááºáááºááŸá¯ááŸáááŸáá¯ááºážáá¬ááœáẠHELLO ááœáŸááºááŒá¬ážáá»ááºá¡áá áºááᯠá¡áá¯á¶ážááŒá¯ááŸáᬠáá¯á¶ážá áœá²áá°ááẠáááá¯ááá¯áá±á¬á¡áá áºááá¯á· ááŒá±á¬ááºážááœá¬ážáááºááŒá áºáááºá RESP3 ááẠclient áááºá០generic arrays áá»á¬ážááᯠááŒá±á¬ááºážáá²áááºááŸáá·áº return types áá»á¬ážááᯠááá¯ááºážááŒá¬ážááŒááºážááŒáá·áº áááá¯á¡ááºáá² ááŸá¯ááºááœá±ážáá±á¬ data á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠááá¯ááºááá¯ááºááŒááºááá¯ááºá á±áá«áááºá
- áááºáá±á¬ááºááááºážáá»á¯ááºááŸá¯á
á¬áááºážáá¶á·ááá¯ážááŸá¯ (
ACL ) áá±á¬ááºáááºá áááºááá·áºáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááá¯ááºááŒá®áž áááºááá·áºá¡áá¬á áá¯ááºáá±á¬ááºááá¯ááºáááºááᯠáááá»á áœá¬ áá¯á¶ážááŒááºááá¯ááºá á±áááºááŒá áºáááºá ACLs áá»á¬ážááẠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¬áá¡ááœááºáž ááŒá áºááá¯ááºáá»á±ááŸááá±á¬ á¡ááŸá¬ážá¡ááœááºážáá»á¬ážááᯠáá¬ááœááºáá±ážááá¯ááºá á±áááºá á¥ááá¬á¡á¬ážááŒáá·áºá BRPOPLPUSH áá¯ááºáá±á¬ááºáá»ááºááá¯áᬠáá¯ááºáá±á¬ááºááá·áº ááá¯ááºááœááºáá°ááᯠá¡ááŒá¬ážáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááŒááºážá០áá¬ážááŒá áºááá¯ááºááŒá®ážá á¡ááŸá¬ážááŸá¬ááŒááºáá±á áẠFLUSHALL áá±á«áºááá¯ááŸá¯ááᯠáá¯ááºáá¯ááºááŸá¯áá¯ááºááœáẠááá±á¬áºáá áá±á·ááœá¬ážáá«áá áááºážááẠááŒá¿áá¬áá»á¬ážáááŒá áºáá±á«áºá á±áá«á ACL ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááẠá¡ááá¯áá±á¬ááºáž á¡ááá¯á¡áá»á¯á¶ážááááºáá² á áœááºážáá±á¬ááºáááºá¡áá±á«áº áááºáá±á¬ááºááŸá¯ áááŸáááá±á¬ááºáááºááŒá áºáááºá Interface modules áá»á¬ážááᯠACL á¡ááœáẠááŒááºáááºáá¬ážááŒá®ážá áááºáááá¯ááºááá¯áẠá á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒáááºážáááºážáá»á¬ážááᯠáááºáá®ážááá¯ááºá á±áá«áááºá ááŸááºáááºážáááºáá¬ážáá±á¬ ACL áá»áá¯ážáá±á¬ááºááŸá¯áá»á¬ážá¡á¬ážáá¯á¶ážááá¯ááŒáá·áºááŸá¯áááºá "ACL LOG" á¡áááá·áºáá±ážáá¬ážáááºá ááá·áºááŸááºážáááá±á¬ á ááºááŸááºáá±á¬á·áá»á¬ážááᯠáá¯ááºáá¯ááºáááºá¡ááœáẠSHA256-based HMAC ááᯠá¡áá¯á¶ážááŒá¯á "ACL GENPASS" ááœáŸááºááŒá¬ážáá»ááºááᯠááá·áºááœááºážáá¬ážáááºá - áá±á¬ááºáá¶á·
SSL / TLS client ááŸáá·áº server á¡ááŒá¬áž áááºááœááºáá±ážáááºážááŒá±á¬ááºážááᯠá á¬ááŸááºáááºá -
áá±á¬ááºáá¶á· áááá¯ááºážááá·áºáááºá០áá±áá¬ááᯠááááºážáááºážáá«á áá±áá¬áá±á·á áºáá¡ááŒá±á¡áá±ááŸáá·áº client-side cache ááá¯ááŒááºáááºáá±á«ááºážá ááºážáááºá áá¯ááºááŸá áºáá¯áááŸáááá¯ááºáááº- 1. áááá¯ááºážááá·áºáááºááŸáºá¡ááœááºážáááºáá±á¬ááºááŸá¯ááááºá ááºááŸá¯áá¯á¶ážááŸá¯á¶ážááŒááºážá¡ááŒá±á¬ááºážá¡áááá±ážáááºá¡ááœáẠclient ááŸááááºáá±á¬ááºážááá¯áá¬ážááá·áºáá±á¬á·áá»á¬ážááá¯áá¬áá¬áá±á«áºááœááºááŸááºáá¬ážááŒááºážá 2. áá±á¬ááºáááºááẠá¡áá»áá¯á·áá±á¬áá±á¬á·ááŸá±á·áááºáá»á¬ážááᯠá á¬áááºážááœááºážááŒá®áž á€ááŸá±á·áááºáá»á¬ážá¡á±á¬ááºááŸá áá±á¬á·áá»á¬ážááŒá±á¬ááºážáá²áá«á áá¬áá¬á០á¡áááá±ážááá·áº "áá¯ááºááœáŸáá·áºááŒááºáž" ááá¹ááá¬ážá "broadcasting" mode áá¡á¬ážáá¬áá»ááºááŸá¬ server ááẠclient side ááœááºááááºážáááºážáá¬ážáá±á¬áááºááá¯ážáá»á¬ážááŒá±áá¯á¶ááá¯ááááºážáááºážááŒááºážá¡ááœááºáá±á¬ááºááẠmemory ááá¯áááŒá¯ááºážáá®ážáá²á á¡á¬ážáááºážáá»ááºááŸá¬ transmission message á¡áá±á¡ááœááºááá¯ážáá¬ááŒááºážááŒá áºáááºá - áááºáá±á·áá»áºáááºážá
á®ááŒááºážááᯠáá¯ááºáá±á¬ááºááẠRedis ááá¯á¡áá¯á¶ážááŒá¯ááẠáááºááœáá·áºááŒá¯ááá·áº Disque áááºáá±á·áá»áºááœá²á
á¬ážááẠá¡ááŒá±áá¶ááœá²á·á
ááºážáá¯á¶á០áááºááŸá¬ážááá¯ááºáá«áááºá
áá®ážááŒá¬áž module . - áááºááŒá±á¬áá«áááºá
Cluster Proxy Redis áá¬áá¬áá»á¬áž á¡á á¯á¡áá±ážáá áºáá¯á¡ááœáẠááá±á¬ááºá á®áá áºáá¯ááŒá áºááŒá®ážá áá¯á¶ážá áœá²áá°áá áºáŠážá¡á¬áž Redis áá¬áá¬áá»á¬ážá áœá¬ááŸáá·áº á¡áá¯ááºááœá²áá¯ááºááẠáááºážááá¯á·ááẠáá áºáá¯áááºážáá±á¬á¥ááá¬áá áºáá¯áá²á·ááá¯á·ááŒá áºáááºá ááá±á¬ááºá á®ááẠááá¯á¡ááºáá±á¬áá±áá¬á multiplex áá»áááºáááºááŸá¯áá»á¬ážááŸáá·áºá¡áá° node áá»á¬ážááá¯á· áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºážááŒá±á¬ááºážáá±ážáá¬á node áá»áá¯á·ááœááºážáá»ááºáá»á¬ážááᯠááœá±á·ááŸááá«á á¡á á¯á¡áá±ážááᯠááŒááºáááºááŒááºáááºááá¯ááºááŒá®áž node á¡áá»á¬ážá¡ááŒá¬ážááᯠáá»á²á·ááœááºááá·áº áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºááá¯ááºáááºá - áá±á¬áºáá»á°ážáá»á¬ážáá±ážáá¬ážááŒááºážá¡ááœáẠAPI ááᯠáááá¬áááºááŸá¬ážá áœá¬ ááŒáŸáá·áºáááºáá¬ážááŒá®ážá á¡ááŒá±áá¶á¡á¬ážááŒáá·áº Redis ááẠá¡ááá¯áááá¯ááááºáá»á¬ážáá¯á¶á á¶ááŒáá·áº á áá áºáá»á¬ážááᯠáááºáá®ážááá¯ááºá á±ááá·áº áá°áá±á¬ááºáá áºáá¯á¡ááŒá ẠááŒá±á¬ááºážáá²áá¬ážáááºá
- RDB ááá¯ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒá®ážáááºááŸáá·áº áááºážááá¯á·ááᯠáá»ááºááŒááºáž áá»ááºáá áºááá·áº áá¯á¶á á¶áá°áá¯ááºááᯠá¡áá±á¬ááºá¡ááẠáá±á¬áºáá¬ážáááºá
- áá¯á¶áá°ááŸáá·áºáá¬á áá¬á¡ááœáẠá¡áá¯á¶ážáá»á¬ážáá±á¬ á¡á±á¬á·ááºáááºáá»á¬ážááᯠáá±á¬áºáá¯ááºááá¯ááºá á±ááŒááºážááŒáá·áº áá áºá áááºáá áºááá¯ááºáž áááºáá°ááŒá¯ááŒááºážáá»á¬ážááᯠáááŒá¬áááá¯ááºáá±á¬ááºááá¯ááºá á±ááá·áº PSYNC2 áá°ážáá°ááŸá¯áááá¯ááá¯áá±á¬ááᯠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠááŒá¯áá¯ááºáá¬ážáá«áááºá
- RDB ááá¯ááºáá»á¬áž áááºááŒááºážááᯠá¡ááŸáááºááŒáŸáá·áºááá¯ááºáá«ááŒá®á ááá¯ááºá¡ááŒá±á¬ááºážá¡áá¬áá±á«áºáá°áááºá á¡ááŸáááºááŸá¯ááºážááẠ20 á០30% á¡áá ááŸááááºá áá»áááºáááºáá¬ážáá±á¬ client á¡áá»á¬ážá¡ááŒá¬ážááŸáááá·áºá¡áá« INFO á¡áááá·áºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááŸá¬ áááááá¬áᬠá¡ááŸáááºááŒáŸáá·áºáá¬áá²á·áááºá
- ááŸá¯ááºááœá±ážáá±á¬ string processing algorithms áá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážááŒáá·áº STRALGO command á¡áá áºááᯠááá·áºááœááºážáá¬ážáá«áááºá áá±á¬áá±á¬áááºááœááºá RNA ááŸáá·áº DNA sequences áá»á¬ážááᯠááŸáá¯ááºážááŸááºáá±á¬á¡áá«ááœáẠá¡áá¯á¶ážáááºááá¯ááºáááº
source: opennet.ru