Codeigniter开发技巧:连接多个数据库(可实现DB读写分离)
在开发中,我们有时候会遇到在同一程序中链接多个数据库的需求,这对Codeigniter框架来说是很简单的,我们只需要在 database.php文件中配置少许参数即可。
默认情况下,CI配置的是链接一个数据库,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$db [ 'default' ][ 'hostname' ] = "localhost" ;
$db [ 'default' ][ 'username' ] = "root" ;
$db [ 'default' ][ 'password' ] = "" ;
$db [ 'default' ][ 'database' ] = "first_database_name" ;
$db [ 'default' ][ 'dbdriver' ] = "mysql" ;
$db [ 'default' ][ 'dbprefix' ] = "" ;
$db [ 'default' ][ 'pconnect' ] = TRUE;
$db [ 'default' ][ 'db_debug' ] = FALSE;
$db [ 'default' ][ 'cache_on' ] = FALSE;
$db [ 'default' ][ 'cachedir' ] = "" ;
$db [ 'default' ][ 'char_set' ] = "utf8" ;
$db [ 'default' ][ 'dbcollat' ] = "utf8_general_ci" ;
$db [ 'default' ][ 'swap_pre' ] = "" ;
$db [ 'default' ][ 'autoinit' ] = TRUE;
$db [ 'default' ][ 'stricton' ] = FALSE;
|
如果我们需要链接另一个数据库时,只需增加如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$db [ 'database_two' ][ 'hostname' ] = "localhost" ;
$db [ 'database_two' ][ 'username' ] = "root" ;
$db [ 'database_two' ][ 'password' ] = "" ;
$db [ 'database_two' ][ 'database' ] = "secound_database_name" ;
$db [ 'database_two' ][ 'dbdriver' ] = "mysql" ;
$db [ 'database_two' ][ 'dbprefix' ] = "" ;
$db [ 'database_two' ][ 'pconnect' ] = TRUE;
$db [ 'database_two' ][ 'db_debug' ] = FALSE;
$db [ 'database_two' ][ 'cache_on' ] = FALSE;
$db [ 'database_two' ][ 'cachedir' ] = "" ;
$db [ 'database_two' ][ 'char_set' ] = "utf8" ;
$db [ 'database_two' ][ 'dbcollat' ] = "utf8_general_ci" ;
$db [ 'database_two' ][ 'swap_pre' ] = "" ;
$db [ 'database_two' ][ 'autoinit' ] = TRUE;
$db [ 'database_two' ][ 'stricton' ] = FALSE;
|
链接创建完成之后,在应用程序中我们就可以使用第二个数据库了,使用方法如下:
1
2
3
|
$secound_db = $this ->load->database( 'database_two' , TRUE);
$query = $secound_db ->get( 'person' );
var_dump( $query );
|
如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
Codeigniter开发技巧:连接多个数据库(可实现DB读写分离)相关推荐
- sqlserver date类型和字符串比较_基于SQL Server数据库搭建主从复制实现读写分离实战演练...
一.课程介绍 读写分离(主从同步)从字面意思就可以理解,就是把对数据库的读操作和写操作分离开.读写分离在网站发展初期可以一定程度上缓解读写并发时产生锁的问题,将读写压力分担到多台服务器上.读写分离的基 ...
- 高性能数据库集群:读写分离
目录 1.前言 2.读写分离 2.1 什么是读写分离? 2.2 什么情况下需要读写分离? 2.3 复制延迟 2.4 分配机制 2.5 Mysq支持的复制类型及与原理 1.前言 关系数据库由于其 ACI ...
- 1+X 云计算运维与开发(中级)案例实战——使用 Mycat 构建读写分离的数据库集群
1+X 云计算运维与开发(中级)案例实战--使用 Mycat 服务构建读写分离的数据库集群 前言 思路 实操 1.修改主机名,修改主机映射,配置yum源 2.给mycat机安装java服务,给db1和 ...
- 定时任务-Quartz、Mycat简单入门、Linux下安装MySQL、Linux下安装MyCAT、Mycat的数据库分片、Mycat读写分离
表现层:页面 后台管理系统.商城门户.搜索系统.订单系统.商品详情系统.购物车系统 中间件:dubbo 系统之间的通信,服务的统计,rpc协议远程过程调用 同步通信 服务层:实现具体的业务逻辑 商品服 ...
- 15 数据库基于中间件的读写分离
atlas简介 Mysql 的 proxy 中间件有比较多的工具,例如,mysql-proxy(官方提供), atlas , cobar, mycat, tddl, tinnydbrouter等等. ...
- mysql 云无忧ps教程_华为云数据库MySQL一键开通读写分离,无忧应对企业业务高峰情景...
业务大促,订单暴增,网站流量暴涨几倍,数据库服务器容量又要扛不住了,眼睁睁看着生意白白溜走,再苦逼也无法解决,"肿"么办? 别担心,一键开通读写分离,而且只需一个连接地址,就能让您 ...
- Amoeba数据库代理 实现mysql读写分离
Amoeba 依赖jdk centons7安装jdk8 目前Amoeba for Mysql最新版本为amoeba-mysql-3.0.5-RC-distribution.zip. 安装过程很简单 ...
- 数据库优化三部曲(2)-读写分离-一蓑烟雨任平生
前言 上篇文章介绍了MySql的主从复制,读写分离就不写了,毕竟MySql比Oracle简单太多了(自我感觉),这篇主要写一下Oracle的读写分离,照葫芦画瓢,会了Oracle的读写分离,那么MyS ...
- nginx+mycat实现负载均衡、数据库的主从复制、读写分离
材料:XManager:七台CentOS(Linux)系统虚拟机(一台安装nginx,两台安装Tomcat+JDK,一台安装mycat,三台安装mysql数据库:一台master主节点,两台slave ...
- 【MySQL】Gaea 数据库中间件实现 MySQL 读写分离
声明: 以下内容是学习macro作者的文章,作者原创文章链接:你还在代码里做读写分离么,试试这个中间件吧! 下面夹杂了我自己运行过程中的错误与心得,能运行成功 传统的MySql读写分离方案是通过在代码 ...
最新文章
- GGGit与Github
- Java HashMap涉及的数据结构及实现
- DataBinding初探 数据绑定的用法 ,import 集合类型,绑定的表达式,访问集合类型2...
- Java中通过substring和charAt截取字符串并获取指定字符
- C++ explicit的作用
- [转载]QQ空间技术架构之深刻揭密
- 棉花糖多少钱_如何在6.0棉花糖及更高版本中访问Android的正在运行的应用程序列表...
- 光纤收发器一定要成对使用吗?
- 计组之指令系统:3、CISC和RISC
- 哈工大-操作系统的引导
- 计算机连接打印机用户数量修改,win7电脑中局域网限制每台打印机的使用成员数量的方法...
- 五、String字符串常用方法
- Atitit图片复制父目录给你设计的实现 基于win 图片浏览器
- Spring和Mybatis整合-原生dao开发
- 【游戏引擎Easy2D】三分钟学会游戏的控制移动,键盘识别详解
- CI框架精简版教程 最快上手
- 归并算法(详细见解)
- 安全管家安卓_iOS 设备为什么百毒不侵?安全软件有用吗?
- 希捷硬盘无法连接计算机,新买的希捷1T移动硬盘在电脑上没法识别
- 潇洒郎:Ten-fold-cross validation- Naïve Bayes Classifier 十字交叉验证-贝叶斯分类器 Python实现
热门文章
- JS继承之寄生类继承
- item 12: 把重写函数声明为“override”的
- fshc模块fsch2mcu_if理解
- Ajax基础知识《一》
- ASP.NET 实现PDF文件下载[转]
- command -- 把动作封装成类
- 1.1 线性模型基础
- vue 释放内存_13 道由浅入深的 Vue 自测题
- 对字符串进行折半查找c语言,C语言:编写折半查找函数
- python怎么用split字符串全部分开_python实现字符串完美拆分split()的方法