|
http://nio.infor96.com/php-memcached/ ФÀí´ï (KrazyNio AT hotmail.com), 2006.04. 06, ×ªÔØÇë×¢Ã÷³ö´¦ Ò»¡¢memcached ¼ò½é ÔںܶೡºÏ£¬ÎÒÃǶ¼»áÌýµ½ memcached Õâ¸öÃû×Ö£¬µ«ºÜ¶àͬѧֻÊÇÌý¹ý£¬²¢Ã»ÓÐÓùý»òʵ¼ÊÁ˽â¹ý£¬Ö»ÖªµÀËüÊÇÒ»¸öºÜ²»´íµÄ¶«¶«¡£ÕâÀï¼òµ¥½éÉÜһϣ¬memcached ÊǸßЧ¡¢¿ìËٵķֲ¼Ê½ÄÚ´æ¶ÔÏ󻺴æÏµÍ³£¬Ö÷ÒªÓÃÓÚ¼ÓËÙ WEB ¶¯Ì¬Ó¦ÓóÌÐò¡£ ¶þ¡¢memcached °²×° Ê×ÏÈÊÇÏÂÔØ memcached ÁË£¬Ä¿Ç°×îа汾ÊÇ 1.1.12£¬Ö±½Ó´Ó¹Ù·½ÍøÕ¾¼´¿ÉÏÂÔØµ½ memcached-1.1.12.tar.gz¡£³ý´ËÖ®Í⣬memcached Óõ½ÁË libevent£¬ÎÒÏÂÔØµÄÊÇ libevent-1.1a.tar.gz¡£ ½ÓÏÂÀ´ÊǷֱ𽫠libevent-1.1a.tar.gz ºÍ memcached-1.1.12.tar.gz ½â¿ª°ü¡¢±àÒë¡¢°²×°£º # tar -xzf libevent-1.1a.tar.gz# cd libevent-1.1a# ./configure --prefix=/usr# make# make install# cd ..# tar -xzf memcached-1.1.12.tar.gz# cd memcached-1.1.12# ./configure --prefix=/usr# make# make install °²×°Íê³ÉÖ®ºó£¬memcached Ó¦¸ÃÔÚ /usr/bin/memcached¡£ Èý¡¢ÔËÐÐ memcached ÊØ»¤³ÌÐò ÔËÐÐ memcached ÊØ»¤³ÌÐòºÜ¼òµ¥£¬Ö»ÐèÒ»¸öÃüÁîÐм´¿É£¬²»ÐèÒªÐÞ¸ÄÈκÎÅäÖÃÎļþ£¨Ò²Ã»ÓÐÅäÖÃÎļþ¸øÄãÐÞ¸Ä /usr/bin/memcached -d -m 128 -l 192.168.1.1 -p 11211 -u httpd ²ÎÊý½âÊÍ£º -d ÒÔÊØ»¤³ÌÐò£¨daemon£©·½Ê½ÔËÐÐ memcached£»-m ÉèÖà memcached ¿ÉÒÔʹÓõÄÄÚ´æ´óС£¬µ¥Î»Îª M£»-l ÉèÖüàÌýµÄ IP µØÖ·£¬Èç¹ûÊDZ¾»úµÄ»°£¬Í¨³£¿ÉÒÔ²»ÉèÖô˲ÎÊý£»-p ÉèÖüàÌýµÄ¶Ë¿Ú£¬Ä¬ÈÏΪ 11211£¬ËùÒÔÒ²¿ÉÒÔ²»ÉèÖô˲ÎÊý£»-u Ö¸¶¨Óû§£¬Èç¹ûµ±Ç°Îª root µÄ»°£¬ÐèҪʹÓô˲ÎÊýÖ¸¶¨Óû§¡£ µ±È»£¬»¹ÓÐÆäËü²ÎÊý¿ÉÒÔÓ㬠ËÄ¡¢memcached µÄ¹¤×÷ÔÀí Ê× ÏÈ memcached ÊÇÒÔÊØ»¤³ÌÐò·½Ê½ÔËÐÐÓÚÒ»¸ö»ò¶à¸ö·þÎñÆ÷ÖУ¬ËæÊ±½ÓÊܿͻ§¶ËµÄÁ¬½Ó²Ù×÷£¬¿Í»§¶Ë¿ÉÒÔÓɸ÷ÖÖÓïÑÔ±àд£¬Ä¿Ç°ÒÑÖªµÄ¿Í»§¶Ë API °üÀ¨ Perl/PHP/Python/Ruby/Java/C#/C µÈµÈ¡£PHP µÈ¿Í»§¶ËÔÚÓë memcached ·þÎñ½¨Á¢Á¬½ÓÖ®ºó£¬½ÓÏÂÀ´µÄÊÂÇé¾ÍÊÇ´æÈ¡¶ÔÏóÁË£¬Ã¿¸ö±»´æÈ¡µÄ¶ÔÏó¶¼ÓÐÒ»¸öΨһµÄ±êʶ·û key£¬´æÈ¡²Ù×÷¾ùͨ¹ýÕâ¸ö key ½øÐУ¬±£´æµ½ memcached ÖеĶÔÏóʵ¼ÊÉÏÊÇ·ÅÖÃÄÚ´æÖе쬲¢²»ÊDZ£´æÔÚ cache ÎļþÖеģ¬ÕâÒ²ÊÇΪʲô memcached Äܹ»Èç´Ë¸ßЧ¿ìËÙµÄÔÒò¡£×¢Ò⣬ÕâЩ¶ÔÏó²¢²»Êdz־õ쬷þÎñÍ£Ö¹Ö®ºó£¬Àï±ßµÄÊý¾Ý¾Í»á¶ªÊ§¡£
Èý¡¢PHP ÈçºÎ×÷Ϊ memcached ¿Í»§¶Ë ÓÐÁ½ÖÖ·½·¨¿ÉÒÔʹ PHP ×÷Ϊ memcached ¿Í»§¶Ë£¬µ÷Óà memcached µÄ·þÎñ½øÐжÔÏó´æÈ¡²Ù×÷¡£ µÚÒ»ÖÖ£¬PHP ÓÐÒ»¸ö½Ð×ö memcache µÄÀ©Õ¹£¬Linux ϱàÒëʱÐèÒª´øÉÏ ¨Cenable-memcache[=DIR] Ñ¡ÏWindow ÏÂÔòÔÚ php.ini ÖÐÈ¥µô php_memcache.dll ǰ±ßµÄ×¢ÊÍ·û£¬Ê¹Æä¿ÉÓᣠ³ý´ËÖ®Í⣬»¹ÓÐÒ»ÖÖ·½·¨£¬¿ÉÒԱܿªÀ©Õ¹¡¢ÖØÐ±àÒëËù´øÀ´µÄÂé·³£¬ÄǾÍÊÇÖ±½ÓʹÓà php-memcached-client¡£ ±¾ÎÄÑ¡ÓõڶþÖÖ·½Ê½£¬ËäȻЧÂÊ»á±ÈÀ©Õ¹¿âÉÔ²îһЩ£¬µ«ÎÊÌâ²»´ó¡£ ËÄ¡¢PHP memcached Ó¦ÓÃʾÀý Ê×ÏÈ ÏÂÔØ memcached-client.php£¬ ÔÚÏÂÔØÁË memcached-client.php Ö®ºó£¬¾Í¿ÉÒÔͨ¹ýÕâ¸öÎļþÖеÄÀà¡°memcached¡±¶Ô memcached ·þÎñ½øÐвÙ×÷ÁË¡£Æäʵ´úÂëµ÷Ó÷dz£¼òµ¥£¬Ö÷Òª»áÓõ½µÄ·½·¨ÓÐ add()¡¢get()¡¢replace() ºÍ delete()£¬·½·¨ËµÃ÷ÈçÏ£º
ÏÂÃæÊÇÒ»¶Î¼òµ¥µÄ²âÊÔ´úÂ룬´úÂëÖжԱêʶ·ûΪ 'mykey' µÄ¶ÔÏóÊý¾Ý½øÐдæÈ¡²Ù×÷£º
ÊÇ ²»ÊǺܼòµ¥£¬ÔÚʵ¼ÊÓ¦ÓÃÖУ¬Í¨³£»á°ÑÊý¾Ý¿â²éѯµÄ½á¹û¼¯±£´æµ½ memcached ÖУ¬Ï´ηÃÎÊʱֱ½Ó´Ó memcached ÖлñÈ¡£¬¶ø²»ÔÙ×öÊý¾Ý¿â²éѯ²Ù×÷£¬ÕâÑù¿ÉÒÔÔںܴó³Ì¶ÈÉϼõÇáÊý¾Ý¿âµÄ¸ºµ£¡£Í¨³£»á½« SQL Óï¾ä md5() Ö®ºóµÄÖµ×÷ΪΨһ±êʶ·û key¡£Ï±ßÊÇÒ»¸öÀûÓà memcached À´»º´æÊý¾Ý¿â²éѯ½á¹û¼¯µÄʾÀý£¨´Ë´úÂëÆ¬¶Î½ô½ÓÉϱߵÄʾÀý´úÂ룩£º
¿ÉÒÔ¿´³ö£¬Ê¹Óà memcached Ö®ºó£¬¿ÉÒÔ¼õÉÙÊý¾Ý¿âÁ¬½Ó¡¢²éѯ²Ù×÷£¬Êý¾Ý¿â¸ºÔØÏÂÀ´ÁË£¬½Å±¾µÄÔËÐÐËÙ¶ÈÒ²Ìá¸ßÁË¡£ ֮ǰÎÒÔø¾Ð´¹ýһƪÃûΪ¡¶PHP ʵÏÖ¶à·þÎñÆ÷¹²Ïí SESSION Êý¾Ý¡·ÎÄÕ£¬ÎÄÖÐµÄ SESSION ÊÇʹÓÃÊý¾Ý¿â±£´æµÄ£¬ÔÚ²¢·¢·ÃÎÊÁ¿´óµÄʱºò£¬·þÎñÆ÷µÄ¸ºÔØ»áºÜ´ó£¬¾³£»á³¬³ö MySQL ×î´óÁ¬½ÓÊý£¬ÀûÓà memcached£¬ÎÒÃÇ¿ÉÒԺܺõؽâ¾öÕâ¸öÎÊÌ⣬¹¤×÷ÔÀíÈçÏ£º
Îå¡¢Ïà¹Ø×ÊÔ´ |


