新创建一个客户端连接对象使用new来完成,例如:
创建一个新的客户端对象,在这里可以设置服务器连接,即‘servers’,当然也可以使用set_servers方法来设置。我们先看以下例子:
$memd = new Cache::Memcached { 'servers' => [ "10.0.0.15:11211", "10.0.0.15:11212", "/var/sock/memcached", "10.0.0.17:11211", [ "10.0.0.17:11211", 3 ] ], 'debug' => 0, 'compress_threshold' => 10_000, }; |
server的设置 它是以数组的形式实现的,数组中的值可以是TCP套接字,即“IP:端口”的形式,例如,"10.0.0.15:11211",如果没有知道端口,那么将会使用默认的端口号,即11211.也可以使用Unix套接字的形式,例如, "/var/sock/memcached"。另外,我们还注意到[ "10.0.0.17:11211", 3 ]这个格式,在这个格式中最后的“3”是一个加权值,如果没有指定,那么默认的值就是1。推荐使用仅可能低的值,因为这个模块当前分配内存时采用的所有Memcached服务器中的权重然后按比例分配。
'debug' => 0, 它的值有0和1之选,如果设置为0,那么将会关闭调试信息,如果设置为1,则会打开调试信息。
'compress_threshold' => 10_000, 直接的称呼可以叫做它“压缩门限值”,该选项就是用于设置一个门限值,一旦存储的value超过这个大小,那么将会对存储的value进行压缩,它的单位是字节。在通过get操作读取时会再次进行解压。当然,这个值在实例化之后还是可以通过函数改变的,不是这里一旦设置完成就会一成不变的,具体的做法是通过set_compress_threshold()来改变。
另外,还可以设置以下选项。
no_rehash 如果将它的值设置为1,即’no_rehash’=>0,那么当一台Memcached服务器出了问题,比如宕机或者是其它的问题,那么该客户端实例不会尝试寻求其它的Memcached服务器,相反,如果设置为0,那么在出现问题时将会需求其它的Memcached服务器。
readonly 如果将该选项的值设置为1,那么这个客户端实例只能从Memcached服务器中读取数据,而不能够想其中写入数据,如果设置为0,那么则是可读、可写。这个选项在一定意义上非常有用。
namespace 按照编程或者Linux的术语应该叫它命名空间,它的功能也大概确实如此,如果设置了该项,那么缓存中所有的key前都有这个设置的值,例如,我们将命名空间设置为"app1:",那么如果设置一组key-value,"foo" 和 "bar",在Memcached服务器中最终实际是"app1:foo" 和 "bar"。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27043155/viewspace-732401/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27043155/viewspace-732401/