PHP-php扩展memcache set方法的默认值问题
php扩展 memcache(注意这里不是memcached)的set方法后两个参数只有说明是什么作用,没有说他的默认值,既然这两个参数是可以省略的,那么他应该有默认值,我查了好些地方,都没有说明。官方文档也是。
有谁知道的请给个说明,还有我使用ktserver做nosql数据库,使用的是memcache扩展进行的连接,不知道后面两个参数省略掉的话是否是永久存储,也就是按0处理,我昨天也做了个测试,过了一段时间发现还是可以获取的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看了一下代码
memcache_set是通过php_mmc_store实现的(实际上memcached协议里也是STORE命令):
这是php_mmc_store开始解析参数的部分,之后就组装和发送命令,flags和exptime都没改变。
所以flags和exptime默认为0,对应到memcached的协议就是没额外参数,不过期。
(这个额外参数其实只对客户端有意义,memcached在返回数据时会同时返回这个flags,然后客户端进行相应处理,例如压缩解压)