能不能把配置文件中的信息放入共享内存中比如数据库的用户名和密码,程序第一次运行的时候读取配置文件然后放入共享内存中,之后运行都是从共享内存中获取,这样不用每次都去读取配置文件,提高效率。
这样做是否可行?
高手有没有建议或者这样做的不足。
之所以想到这个是因为老大不希望数据名和密码以明文的方式放在文件中,想加密保存,如果加密保存每次都要先去解密然后再连接数据库,效率损耗太大。如果不用共享内存,有没有其他的解决办法。希望高手给予解答

解决方案 »

  1.   

    这是那门子的老大和需求,不是技术老大吧。
    你放在那,都会产生一个$link吗? 有了这个,黑客一样执行mysql_query(),
    开源的代码用完了都会把这些值赋NULL,但$link还是有效。如果怕文件外泄,可以放到根目录上层目录 ,这么做不影响引入。
    另外mysql连接是可以限制IP。
    还是那句话,这是那门子的老大和需求。
      

  2.   

    也不是不可以,php自带那个linux下system v的共享内存(shm_前缀)只适合单机应用,windows下那个共享内存(shmop_前缀)不好用,一般都使用成熟的缓存服务器,比如memcache,radius,跨平台,迅捷,稳定,分布式。
    不过你就一个配置文件,一般也不会很大,直接include这个文件的效率损耗微乎其微。
      

  3.   

    不考虑别的,单看LZ的问题,可行的, memcached也行,shm也行,redis也行,甚至全局变量也可以。
      

  4.   

    define一下,然后require_once,类似的用法,如果相关的cache没问题的话,效率并不比shm和memcached差。
    因为你的需求并不是动态内容,而是一些静态配置,那根本没必要搞什么共享内存....因为主要的时间消耗是加解密算法,而不是保存在哪里....
      

  5.   

    http://www.im286.com/thread-9730556-1-1.html
    共享内存最好