2015-09-10 01:15:28 2173次浏览 1条回答 0 悬赏 100 金钱

大家好,请问以下这个情况有什么好的经验吗?

比如应用中需要用到民族,省份这样数组。民族国内56个,省份31个。他们基本上是不会变化的。那么类似这样的情况。
我们可以放入配置文件中params-local.php,通过yii的加载,直接app->params['key']进行访问。

  1. 假设类似民族、省份之类的属性有很多,如果都放入配置文件中,会不会造成应用很吃内存?
  2. 有什么好的经验吗?
  3. 能否实现按需加载呢?
  4. 结合yii2,这些类似常量的内容,怎么组织比较好呢? 比如相关数组文件都放在那里比较合适?(目前是放在common\components目录下)
  5. 请问应用已经上线的情况下。有2个用户都去访问应用的地址了。那么这个时候服务器的内存里应用是有1个,还是2个?如果这里是占用了2个内存空间,那么类似的情况是不是可以使用memcache,redis等内存缓存,从而达到类似的常量内容,更快速的访问和共享的效果呢?
  • 回答于 2015-09-10 10:16 举报

    每个请求都是一个独立的进程,所以也是各自分配内存给这些内容的,就算使用了缓存,从缓存中读取后还是放到内存中。比较灵活的做法是将这些内容存到数据库中,然后使用memcache做缓存,当数据库内容发生变化时(增、删、改)或缓存失效时刷新缓存,其他时间直接读取缓存内容,缓存时间可以设的长一点。这样既可以方便后续通过后台系统编辑数据库管理这些常量,又能通过缓存提高数据访问速度和效率

您需要登录后才可以回答。登录 | 立即注册
xjdata
CEO

xjdata

注册时间:2011-12-07
最后登录:1天前
在线时长:112小时38分
  • 粉丝23
  • 金钱14169
  • 威望75
  • 积分16039

热门问题