PHP的51个Memcached方法(12-21)

  1. public bool delete ( string $key [, int $time = 0 ] )
    删除服务端Memcached中以$key为键值的数据。

    如果设置了可选参数$time,则在$time时间内:键值为$key的数据不是立刻被删除,而是被放到一个待删除队列中。一旦数据被放入待删除队列,对于客户端该数据的操作(key为$key的操作)仅set会成功,get、add、replace都将失败。

    参数$time与add中解释的一样,如果小于一个月则从服务器接收到该指令开始计时,否则按照1970年1月1日零时零点零分开始计时。

  2. public bool deleteByKey ( string $server_key , string $key [, int $time = 0 ] )
    与delete相同,只不过可以删除固定服务器上的数据。

  3. public bool deleteMulti ( array $keys [, int $time = 0 ] )
    多个delete操作一起进行,可以将待删除的数据的键值放入一个数组$keys中。这些数据将一起被操作,齐塔解释同delete.

  4. public bool deleteMultiByKey ( string $server_key , array $keys [, int $time = 0 ] )
    同deleteMulti,可指定通过$server_key对某一服务器上的数据进行操作,前提是当初放入memcached时相关的数据是通过同一个$server_key放入的。

  5. public array fetch ( void )
    与getDelayed()或getDelayedByKey()配合使用,getDelayed()或getDelayedByKey()通知服务器准备相关数据,fetch获取数据中的一条。

  6. public array fetchAll ( void )
    与getDelayed()或getDelayedByKey()配合使用,getDelayed()或getDelayedByKey()通知服务器准备相关数据,fetchAll 获取还未被获取的所有数据。比如getDelayed()或getDelayedByKey()后服务器找到了10个符合要去的数据,fetch()两次获取了2条数据,fetchAll()可以获取剩余的所有8条数据。

  7. public bool flush ([ int $delay = 0 ] )
    使得所有位于服务端Memcached中的数据失效,无法再获取到(除非再次存入)。如果指定了超时时间$delay,则数据失效发生在$delay秒之后,不是服务器接受到指令后立即失效。

  8. public mixed get ( string $key [, callable $cache_cb [, float &$cas_token ]] )
    获取服务端键值是\$key的数据。

    如果指定了$cas_token,则服务端的Memcached会生产一个64位浮点数放入$cas_token中,用于cas()或casByKey().

    如果服务端找不到键值是$key的数据,而客户端对这种情况不允许,则可以通过设置回掉函数$cache_cb强行指定一个值返回并放入Memcached中。回掉函数需要返回布尔值通知get函数回掉函数是否成功的指定了$key对应的数据的值,如成功,则get返回该值并写入Memcached中,否则返回FALSE.

    回掉函数定义如下:

    function user_define_cb(\$memc, \$key, &\$value)
    {
    //给$value赋值
    }

    其中,$memc为Memcached对象,$key为前端请求的键值。

  9. public array getAllKeys ( void )
    遍历所有客户端服务器列表中的Memcached服务器,在每个服务器上都获取所有的键值。

    此方法要慎用,由于不是Memcached协议提供的原子交易,获取的key不保证一致性,比如在获取的时候又有新增的数据,不一定会被获取到,获取的时候有删除数据,删除的数据可能仍然被获取到。

  10. public mixed getByKey ( string $server_key , string $key [, callable $cache_cb [, float &$cas_token ]] )
    同get(),但是可以通过指定$server_key而在某一固定服务器上获取数据,前提是待获取的数据是用相同的$server_key存入Memcached中的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值