Տեսակ | cache? և ազատ ծրագրային ապահովում |
---|---|
Նախագծումը՝ | Danga Interactive |
Գրված է՝ | Սի (ծրագրավորման լեզու)[1] |
ՕՀ | բազմապլատֆորմ |
Լույս տեսավ՝ | մայիսի 22, 2003 |
Արտոնագիր | BSD վերափոխված արտոնագիր[2] |
Կայք | memcached.org(անգլ.) |
Ելակոդ | github.com/memcached/memcached |
memcached, ծրագրային ապահովում, որն hash աղյուսակների նմուշի հիման վրա իրականացնում է տվյալների քեշավորում օպերատիվ հիշողության մեջ։
Տարբեր ծրագրավորման լեզուների (մասնավորապես, C/C++-ի, Ruby-ի, Perl-ի, PHP-ի, Python-ի, Java-ի, CSharp/.Net-ի և այլնի) համար գրադարանները թույլ են տալիս օպերատիվ հիշողությունում քեշավորել տվյալները գոյություն ունեցող սերվերներից մեծամասնությունում։ Բաշխումն իրականացվում է տվյալների սեգմենտավորման ճանապարհով՝ բանալու hash-ի արժեքով, ինչպես դա արվում է hash աղյուսակների սոկետներում։ Լեզվի գրադարանը, օգտագործելով տվյալների բանալին, հաշվարկում է hash-ը և օգտագործում է այն համապատասխանը սպասարկիչն ընտրելու համար։
memcached-ի API-ն ունի միայն աշխատանքի համար հիմնական ֆունկցիաները՝ սպասարկչի ընտրությունը, կապի հաստատումն ու խզումը, օբյեկտի ավելացումը, հեռացումը, թարմացումն ու ստացումը, ինչպես նաև Compare-and-swap ֆունկցիան։ Ցանկացած օբյեկտի համար սահմանվում է կյանքի տևողությունը՝ 1 վայրկյանից մինչև անվերջություն։ Հիշողության սպառման ժամանակ հին օբյեկտներն ավտոմատ հեռացվում են։ PHP-ն ունի նաև memcached-ի աշխատանքի համար պատրաստի PECL գրադարաններ, որոնք լրացուցիչ հնարավորություններ են տալիս։