公司动态

了解最新公司动态及行业资讯

当前位置:首页>新闻中心>公司动态
全部 15 公司动态 12 行业动态 3

saas版小程序商城缓存优化

时间:2021-10-27   访问量:1475

    原有程序中对于查询数据没有进行缓存,如果访问量不大或者服务器性能不错的情况,基本看不到影响,但是SAAS版中不得不考虑对性能的影响,提高并发的性能;由于TP框架中只有简单的设置、查询、删除缓存操作,没有办法获取已缓存的KEY的信息;这样就导致如果出现新的数据的时候,缓存的数据已经不准确了,因为我这边不想因为性能就容忍出现这种情况,然后我考虑了文件缓存的方式,TP默认的快速缓存使用的就是文件缓存,这里顺便提一下,看了TP框架的代码,没有看到快速缓存能使用除了文件缓存外的方式;然后这边又查看了其他缓存驱动的代码,发现如果expire设置为0时就成为了永久缓存,TP文档中没有说明一直以为必须有expire值呢;

    现在决定查询缓存的方式使用memcached,重写TP框架的Model基类,在query方法中查询是否存在缓存,如果存在就返回缓存,缓存的key为sql语句,如果不存在则查询后返回,并将key保存在table名这个key对应的sql数据中,在execute方法中,查询table名key下所有的sql,并批量删除;(ps:不知道hibernate这种数据库框架中的多级缓存是怎么处理的)

    为什么采用这种方式,因为TP缓存驱动中只有清空所有缓存的方法,而如果只是某部分表更新数据了就把其他表的缓存也清除了,很大可能影响并发的性能;


上一篇:SAAS版小程序商城修改:ACCESSTOKEN优化

下一篇:PCSHOP小程序商城系统软件著作权进行中