关于PHP memcache的几个问题

Jas*_*vis 3 php memcached

1)
我知道我可以称之为

$memcache_obj = memcache_connect('memcache_host', 11211);
Run Code Online (Sandbox Code Playgroud)

在我的网站的头文件中,对不使用内存缓存的页面没有影响但是这个怎么样

$memcache->connect('127.0.0.1', 11211);
Run Code Online (Sandbox Code Playgroud)

应该在页面到页面的基础上调用吗?


2)
如果服务器没有足够的内存来写新的缓存并且memcache尝试存储缓存怎么办?


3)
我知道密钥可以有30天的使用寿命,有没有办法将所有密钥刷新内存,特别适用于测试阶段?

4)
此代码,第一个变量是连接,例如,如果我在一个页面上有5个部分,从memcache添加/更新/删除,我是否需要每次都运行此连接,或者是否可以连接1次和每页加载一切吗?

memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30)
Run Code Online (Sandbox Code Playgroud)

5) 是否有一个函数或任何东西可以显示有多少内存可用并在php页面上使用?

Jas*_*son 8

  1. 是的,在尝试获取,删除等等之前不会进行任何网络调用,因此在需要时分配对象并不会造成伤害.(编辑:我在想这里的"memcached"扩展,原来"memcache"扩展实际上打开了与memcache服务器的连接,虽然命中率最多可以忽略不计)

  2. memcache将删除最少使用的项目以尝试为新对象腾出空间

  3. $ memcache_obj->冲洗();

  4. 每次脚本运行只需要连接一次,最简单的方法是将连接放在页面顶部或类构造中

  5. $ memcache_obj-> getStats()http://www.php.net/manual/en/function.memcache-getstats.php