十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
保存数据的方法很多,除了cookie session外,可以生成临时文件来保存数据,也可以用php的memcached组件把数据保存在内存里。
创新互联于2013年创立,是专业互联网技术服务公司,拥有项目网站制作、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元兴化做网站,已为上家服务,为兴化各地企业和个人服务,联系电话:18980820575
1) 空间的比较
serialize在编码后大概是json的1.5倍。
原因:
serialize后字符串包含了子串的长度,这可能是速度方面的优化,但是测试结果不尽人意。
serialize有更加详细的类型区分,而json只有四种类型,并且是以简单的符号表示。
2)速度的比较
在较小数据的情况下, serialize比json快数量级。
在大数据量的情况下,json比serialize稍微差一点
3)处理对象
json无法处理对象方法等数据。
4)使用范围
在前后端交互一般都使用JSON,另外,目前JSON只支持UTF-8编码的数据。
序列化使用serialize,特别是对象的存储。这是其存在的意义。
与对象无关的数据存储可以使用json,如包含大量数字的数组等。
这篇博客概括满全面:
当然是在服务器端,但不是保存在内存中,而是保存在文件或数据库中。
默认情况下,php.ini
中设置的
SESSION
保存方式是
files(session.save_handler
=
files),即使用读写文件的方式保存
SESSION
数据,而
SESSION
文件保存的目录由
session.save_path
指定,文件名以
sess_
为前缀,后跟
SESSION
ID,如:sess_c72665af28a8b14c0fe11afe3b59b51b。文件中的数据即是序列化之后的
SESSION
数据了。
如果访问量大,可能产生的
SESSION
文件会比较多,这时可以设置分级目录进行
SESSION
文件的保存,效率会提高很多,设置方法
为:session.save_path="N;/save_path",N
为分级的级数,save_path
为开始目录。
当写入
SESSION
数据的时候,PHP
会获取到客户端的
SESSION_ID,然后根据这个
SESSION
ID
到指定的
SESSION
文件保存目录中找到相应的
SESSION
文件,不存在则创建之,最后将数据序列化之后写入文件。读取
SESSION
数据是也是类似的操作流程,对读出来的数据需要进行解序列化,生成相应的
SESSION
变量。
存储的是相对路径,可以到网站服务器上查看,应该有upload文件夹,里面就是存储的图片,这样写的好处是节省了数据库存储空间,转移的时候可以直接将整个服务器的图片打包转移。
访问的时候,前面可以拼接域名和指定的路径,这些后台可以轻松获取到,然后拼接上服务器的路径,我们就可以直接在网页上访问到图片了。
这是很常见的图片数据库保存方式,和直接把图片的二进制存入数据库,这样的方式便于检索,占用空间小。当然,目前主流都采用oss来单独存储文件了,就是有专门的文件服务器,这个时候,一般存储的是完整的图片路径。