一、redis是单线程仍是多线程?php
redis是单线程的,memcached使用的是多线程html
http://blog.jobbole.com/100079/redis
2 、redis数据类型?set集合的大小?list中BLPOP和LPOP的区别?编程
string list hash set 有序set数组
scard key缓存
BLPOP 是列表的阻塞式(blocking)弹出原语。php7
它是 LPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,链接将被 BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。多线程
三、yaf的本地类和全局类memcached
全局类是指, 全部产品之间共享的类, 这些类库的路径是经过ap.library在php.ini(固然,若是PHP在编译的时候, 支持了with-config-file-scan-dir,那么也能够写在单独的ap.ini中)oop
而本地类是指, 产品自身的类库, 这些类库的路径是经过在产品的配置文件中, 经过ap.library配置的.
在Yaf中, 经过调用Yaf_Loader的registerLocalNamespace方法, 来申明那些类前缀是本地类, 便可.
http://www.laruence.com/manual/yaf.autoloader.html#yaf.autoloader.library
四、php7新特性?
标量类型声明
返回值类型声明
null合并符
太空船操做符
define 定义常量数组
匿名类
http://php.net/manual/zh/migration70.new-features.php
五、php魔术方法
__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(),__wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo()
http://php.net/manual/zh/language.oop5.magic.php#object.invoke
六、php的unset会释放内存吗?
别怀疑,PHP的unset确实会释放内存(固然, 还要结合引用和计数, 这部分的内容请参看我以前的文章深刻理解PHP原理之变量分离/引用), 但这个释放不是C编程意义上的释放, 不是交回给OS.而会把这块内存, 纳入本身维护的空闲内存列表. 而对于小块内存来讲, 更可能的是, 把它放到内存缓存列表中去(后记, 某些版本的PHP, 好比我验证过的PHP5.2.4, 5.2.6, 5.2.8, 在调用get_memory_usage()的时候, 不会减去内存缓存列表中的可用内存块大小, 致使看起来, unset之后内存不变, 见评论).
http://www.laruence.com/2011/03/04/1894.html
七、如何防止对外的公共接口被刷(如短信接口)?
(1)增长图形验证
(2)单IP请求次数限制
(3)限制号码发送
https://zhuanlan.zhihu.com/p/20879468