LinuxÒÁµéÔ°ÂÛ̳'s Archiver

robertqliu ·¢±íÓÚ 2008-2-15 08:52

Ϊmemcached¿ª·¢µÄtag¹¦ÄÜ¡¾Ö§³ÖphpÀ©Õ¹¡¿

´ó¼ÒºÃ£¬ÎÒÃÇΪmemcachedÔö¼ÓÁËtag¹¦ÄÜ£¬¸Ã¹¦ÄÜĿǰ֧³Ö£ºÅúÁ¿É¾³ý¶à¸ökey¡£Í¬Ê±¿ª·¢µÄ»¹ÓÐphpÀ©Õ¹¡£

Ö÷ÒªÌØÐÔ£º
1¡¢Ëٶȿ죺ʹÓÃhashºÍsplay   tree£¬²åÈ롢ɾ³ýËٶȿ졣
2¡¢½ÚÊ¡Äڴ棺ȥµôÖØ¸´µÄtagºÍkey£¬×Ô¶¯É¾³ý¡°¿Õtag¡±¡£
3¡¢Ö§³Ö·Ö²¼Ê½²¿Êð¡£
4¡¢Ḭ̈߳²È«¡£
5¡¢tagºÍkeyÖ®¼äÖ§³Ö¶à¶Ô¶à¹ØÏµ¡£
6¡¢itemºÍkeyÖ®¼ä±£³ÖÊý¾ÝÒ»ÖÂÐÔ¡£

¸ü¶àÄÚÈÝ£º
[url]http://code.google.com/p/memcached-tag/[/url]

Çë´ó¼Ò¶àÌᱦ¹ó½¨Ò顣лл£¡:-)

bwb ·¢±íÓÚ 2008-2-15 09:47

²»´í£¬Ö§³Ö£¡
ÆÚÍû½«phpÀ©Õ¹·½Ãæ½éÉÜһϡ£

robertqliu ·¢±íÓÚ 2008-2-15 14:04

Module½Ó¿Ú£º

1) /**
     * Single-add operations, for example
     *  $memcache->tag_add('tag1', array('key1', 'key2', 'key3'))
     *  $memcache->tag_add('tag1', 'key1')
     */
    bool tag_add(mixed tag, mixed keys = null)

    /**
     * Single-delete operations, for example
     *  $memcache->tag_delete('tag1')
     *
     * Multi-delete operations, for example
     *  $memcache->tag_delete(array('tag1', 'tag2'))
     */
    bool tag_delete(mixed tag)


example:

<?php

    $memcache = memcache_connect("127.0.0.1", 11211);

    if ($memcache)
    {
        for ($i=0; $i<10; $i++)
        {
            $memcache->set("key$i", "val$i");
        }
        $memcache->tag_add("tag_1", array("key1", "key1", "key1", "key2", "key3", "key1", "key4"));
        $memcache->tag_add("tag_2", "key1");
        $memcache->tag_add("tag_3", array("key1", "key2", "key3", "key1"));
        $memcache->tag_delete("tag_2");
        $memcache->tag_delete(array("tag_1¡°, ¡°tag_3¡±));
    }
    else
    {
        echo "Connection to memcached failed";
    }

?>

bwb ·¢±íÓÚ 2008-2-15 14:20

лл£¡ÊÕÏÂ~~~

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.