收藏此站 联系我们 网站
当前位置:首页» 行业网站案例 » 【建站服务】溧阳网站建设【溧阳网络公司】溧阳做网站、溧阳微信公众号开发、溧阳网站设计、溧阳小程序制作-域名申请

【建站服务】溧阳网站建设【溧阳网络公司】溧阳做网站、溧阳微信公众号开发、溧阳网站设计、溧阳小程序制作-域名申请

作者: 风兰 . 阅读量: 8 . 发表时间:2022-09-20 15:23:41

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


溧阳网站建设【溧阳网络公司】溧阳做网站、溧阳微信公众号开发、溧阳网站设计、溧阳小程序制作


溧阳,隶属江苏省,由常州市代管的县级市 ,位于江苏省西南部,地处长江三角洲,与苏、浙、皖三省接壤。是南京都市圈成员城市 [1]  ,宁杭生态经济带上的重要副中心城市和示范区。位于北纬31°09'-31°41',东经119°08'-119°36',东邻宜兴,西与高淳、溧水毗邻,南与安徽省的广德、郎溪接壤,北接句容、金坛,南北长59.06千米,东西宽45.14千米,土地总面积1535.87平方千米。 [2]  溧阳属亚热带季风气候,干湿冷暖,四季分明,雨量充沛,无霜期长,全年平均温度17.5℃,其中:一月份3.2℃,七月份31.1℃。年均降水量1149.7毫米。其中,一月份42.2毫米,七月154.1毫米。大约日照时间,一月份137.6小时,七月份229小时。 [3] 

溧阳有耕地面积112万亩,林地32.8万亩,河流和湖泊42.6万亩。物产丰富,是著名的“鱼米之乡”、“丝绸之乡”、“茶叶之乡”,经济连续多年名列全国百强县(市)。溧阳文化属吴越文化,溧阳人属江浙民系使用吴语。盛产稻、麦、油、茶、蚕茧、螃蟹、板栗、西瓜、毛竹等。 [4]  2020年10月9日,被生态环境部命名为第四批“绿水青山就是金山银山”实践创新基地。2020年11月,入选水利部第一批深化小型水库管理体制改革样板县(市、区)名单。2020年12月,社科院发布《全国县域经济综合竞争力100强》,溧阳排名第25 [5]  。


<?phpreturn array(
    ... ...
    'tables' => array(
        //通用路由
        '__default__' => array(
            'prefix' => 'a_',  //以 a_ 为表前缀
            'key' => 'id',
            'map' => array(
                array('db' => 'db_A'),  //默认,使用db_A数据库
            ),
        ),

        'table_article' => array(                                     //表b_table_article
            'prefix' => 'b_',                                         //表名前缀
            'key' => 'id',                                            //表主键名
            'map' => array(                                           //表路由配置
                array('db' => 'db_B'),                                // b_table_article表使用db_B数据库
            ),
        ),

        'table_comments' => array(                                    //表b_table_article
            'prefix' => 'b_',                                         //表名前缀
            'key' => 'id',                                            //表主键名
            'map' => array(                                           //表路由配置
                array('db' => 'db_B'),                                // b_table_comments表使用db_B数据库
            ),
        ),
    ),复制代码

如果项目存在分表的情况,可结合上述的分表的说明再进行配置。为了让大家更容易明白,假设db_A服务器中的数据库有表a_table_user、a_table_friends_0到a_table_friends_9(共10张表),而db_B服务器中的数据库有表b_table_article、b_table_comments_0到b_table_comments_19(共20张表),则结合起来的完整配置为:

<?phpreturn array(
    ... ...
    'tables' => array(
        //通用路由
        '__default__' => array(
            'prefix' => 'a_',  //以 a_ 为表前缀
            'key' => 'id',
            'map' => array(
                array('db' => 'db_A'),  //默认,使用db_A数据库
            ),
        ),

        'table_friends' => array(                                     //分表配置
            'prefix' => 'a_',                                         //表名前缀
            'key' => 'id',                                            //表主键名
            'map' => array(                                           //表路由配置
                array('db' => 'db_A'),                                // b_table_comments表使用db_B数据库
                array('start' => 0, 'end' => 9, 'db' => 'db_A'),      //分表配置(共10张表)
            ),
        ),

        'table_article' => array(                                     //表b_table_article
            'prefix' => 'b_',                                         //表名前缀
            'key' => 'id',                                            //表主键名
            'map' => array(                                           //表路由配置
                array('db' => 'db_B'),                                // b_table_article表使用db_B数据库
            ),
        ),

        'table_comments' => array(                                    //表b_table_article
            'prefix' => 'b_',                                         //表名前缀
            'key' => 'id',                                            //表主键名
            'map' => array(                                           //表路由配置
                array('db' => 'db_B'),                                // b_table_comments表使用db_B数据库
                array('start' => 0, 'end' => 19, 'db' => 'db_B'),     //分表配置(共20张表)
            ),
        ),
    ),);复制代码

通过这样简单配置,即可完成对多个数据库的配置,其他代码层面上对数据库的操作保持不变。

不足与注意点

这样的设计是有明显的灵活性的,因为在后期如果需要迁移数据库服务器,我们可以在框架支持的情况下轻松应对,但依然需要考虑到一些问题和不足。

  • 数据库变更
    DB变更,这块是必不可少的,但一旦数据库表被拆分后,表数量的骤增导致变更执行困难,所以这里暂时使用了一个折中的方案,即提供了一个ext_data 扩展字段用于存放后期可能需要的字段信息,建议采用json格式,因为通用且长度比序列化的短。但各开发可以根据自己的需要决定格式。即使如此,扩展字段 明显做不到一些SQL的查询及其他操作。

  • 表之间的关联查询
    表之间的关联查询,这个是分拆后的最大问题。虽然这样的代价是我们可以得到更庞大的存储设计, 而且很多表之间不需要必须的关联的查询,即使需要,也可以通过其他手段如缓存和分开查询来实现。这对开发人员有一定的约束,但是对于可预见性的海量数量,这又是必须的。

2.5.7 扩展你的项目

其他数据库的链接

PhalApi的数据库操作基于NotORM开源类库,而NotORM底层则是采用了PDO。根据PDO所支持的数据库可推导出目前PhalApi支持数据库的连接包括但不限于:MySQL,SQLite,PostgreSQL,MS SQL,Oracle。当需要连接非MySQL数据库时,可以通过扩展并定制的方式来扩展。

例如需要连接MS SQL数据库,首先,需要重写根据配置创建PDO实例的PhalApi_DB_NotORM::createPDOBy($dbCfg)方法,并在里面定制对应的数据库连接的PDO。

// $ vim ./Shop/Common/DB/MSServer.php<?phpclass Common_DB_MSServer extends PhalApi_DB_NotORM {

    protected function createPDOBy($dbCfg) {
        $dsn = sprintf('odbc:Driver={SQL Server};Server=%s,%s;Database=%s;',
            $dbCfg['host'],
            $dbCfg['port'],
            $dbCfg['name']
        );

        $pdo = new PDO(
            $dsn,
            $dbCfg['user'],
            $dbCfg['password']
        );

        return $pdo;
    }}复制代码

如果数据库连接配置与默认的格式不同,可自行调整./Config/dbs.php里的配置。

随后,在初始化文件Shop项目的入口文件./Public/shop/index.php中重新注册DI()->notorm

DI()->notorm = function() {
    return new Common_DB_MSServer(DI()->config->get('dbs'), DI()->debug);};复制代码

使用定制了特定数据库PDO连接的类实例重新注册notorm服务后,便可以进行新的数据库连接了,并且原有的数据库操作不需要改动,便可实现数据库切换。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

溧阳网站建设溧阳网络公司溧阳做网站、溧阳微信公众号开发、溧阳网站设计、溧阳小程序制作


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务