php汇总 (16)

用户在不登录的情况下,可以把要购买商品的信息(如商品的ID,商品的价格、商品的sku_id,购买数量等关键数据)存到COOKIE里面,当登陆的情况下。把COOKIE里面的内容存到数据库,并清除cookie中的数据。

73、写过接口吗,怎么定义接口的

答案:写过。接口分为两种:一种是数据型接口,一种是应用型接口。

数据型接口:是比抽象类更抽象的某种“结构”——它其实不是类,但是跟类一样的某种语法结构,是一种结构规范,规范我们类要以什么格式进行定义,一般用于团队比较大,分支比较多的情况下使用。

应用型接口: API(application interface) 数据对外访问的一个入口

我主要是参与的APP开发中接口的编写,客户端需要什么样的数据,我们就给他们提供相应的数据,数据以json/xml的格式返回,并且配以相应的接口文档。

74、静态化如何实现的

答:这里要说的静态化指的是页面静态化,也即生成实实在在的静态文件,也即不需要查询数据库就可以直接从文件中获取数据,指的是真静态。它的实现方式主要有两种:

一种是我们在添加信息入库的时候就生成的静态文件,也称为模板替换技术,这种主要用在后台,用于一些基本上很少变化的信息上,在添加信息的时候使用添加的信息来替换制定好的模板中的内容,达到生成静态文件的目的,这样在前台访问该信息时,可以直接从生成好的静态文件中获取信息,如一些CMS系统。

另外一种是用户在访问我们的页面时先判断是否有对应的缓存文件存在,如果存在就读缓存,不存在就读数据库,同时生成缓存文件。这种实现的主要原理是基于PHP中的ob缓冲技术来实现的,当没有静态文件时,从数据库中读取,读取的数据使用OB缓存,使用相关的函数从OB缓冲中读取数据,写入到文件中,形成静态文件。当然这个过程中要考虑静态文件的缓存周期问题,我们可以根据文件的最后修改时间和当前时间及设定的缓存时间来定时更新缓存文件。

75、伪静态如何实现的

答:伪静态不是真正意义上的静态化,之所以使用伪静态,主要是为了SEO推广,搜索引擎对动态的文件获取难度大,不利于网站的推广。伪静态的实现原理主要是基于apache/nginx等web服务器的rewrite机制。利用Apache/nginx里面相关的服务器变量和指令来完成重写。主要有两种方式,一种是直接在配置虚拟机的位置配置伪静态,这个每次修改完成后需要重启web服务器。另一种采用分布式的,可以在网站的根目录上创建.htaccess的文件,在里面配置相应的重写规则来实现伪静态,这种每次重写时不需要重启web服务器,且结构上比较清晰。具体的配置可以参考 Apache/nginx的手册。

76 、 mysql优化,读写分离如何实现?

答:mysql优化前面已经总结了。主要说下读写分离,当我们的数据量很大时,数据库服务器的压力变大,这时候我们需要从架构方面来解决这一问题,在一个网站中读的操作很多,写的操作很少,这时候我们需要配置读写分离,把读操作和写操作分离出来,最大程度的利用好数据库服务器。读写分离的实现原理就是在执行SQL语句的时候,判断到底是读操作还是写操作,把读的操作转向到读服务器上(从服务器,一般是多台),写的操作转到写的服务器上(主服务器,一般是一台,视数据量来看)。当然为了保证多台数据库数据的一致性,需要主从复制。主从复制的实现原理是:mysql中有一种日志,叫做bin日志(二进制日志),会记录下所有修改过数据库的sql语句。主从复制的原理实际是多台服务器都开启bin日志,然后主服务器会把执行过的sql语句记录到bin日志中,之后从服务器读取这个bin日志,把该日志的内容保存到自己中继日志里面,从服务器再把中继日志中记录的sql语句同样的执行一遍。这样从服务器上的数据就和主服务器相同了。

77、sku减库存

SKU = Stock Keeping Unit (库存量单位)   
即库存进出计量的单位,可以是以件,盒,托盘等为单位。SKU是库存量单位,区分单品。   
在服装、鞋类商品中使用最多最普遍。 例如纺织品中一个SKU通常表示:规格、颜色、款式。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpyyp.html