嗨,我正在建立一个在线测验系统,我正在试图找出优化性能的最佳方法。假设题库中总共有100个测验,并随机将其中的50个分为一组测验。我使用的是Codeigniter框架。
我现在计划做的是从数据库中查询50个问题,并将带有答案的查询问题存储到temp_data()中。用户答案也将存储在temp-data中。当用户完成测验时,所有的答案和问题将被一次性插入到数据库中。会话已被销毁。
那么,有没有其他更有效的方法,或者这就是它?因为cookies允许4kb,所以不可能存储它。我正在考虑使用另一个表来存储答案,但它涉及到对每个页面的查询和问题加载。但是会话也会占用内存。有什么建议吗?
发布于 2019-06-13 18:35:53
尝试使用CI缓存库您可以对此库使用不同的缓存方法file、redis或memcache,正如您所说的,您将为每个用户随机选择50个问题,然后创建唯一的缓存文件将所有问题和答案保存在该文件中,只需将文件名保存在会话或cookie中即可。对于回答的每个问题,您可以直接保存到数据库或保存在相同的缓存文件中,然后一次保存所有回答的问题。查看缓存库
https://www.codeigniter.com/user_guide/libraries/caching.html
https://stackoverflow.com/questions/56575185
复制相似问题