设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 进阶讨论
›
如何做数据库读写分离呢
返回列表
查看:
4707
|
回复:
5
[数据库]
如何做数据库读写分离呢
[复制链接]
baloyou
baloyou
当前离线
积分
88
IP卡
狗仔卡
发表于 2011-6-7 14:56:07
|
显示全部楼层
|
阅读模式
对CI代码还没有深入阅读,目前架构一个项目使用CI框架,考虑数据库压力的问题,打算在初期就做好数据库主从分离。
但CI似乎没有直接提供这样的功能?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
chf007
chf007
当前离线
积分
77
IP卡
狗仔卡
发表于 2011-6-7 17:31:05
|
显示全部楼层
这个得自已写吧
回复
支持
反对
使用道具
举报
显身卡
saturn
saturn
当前离线
积分
1844
IP卡
狗仔卡
发表于 2011-6-10 17:57:25
|
显示全部楼层
数据库主从结构和读写分离是两个概念,准确来说:读写分离是主从结构的一个案例。
具体的操作,需要分析你的业务需求,然后改动CI默认的代码(或许不需要)。这里的话我建议采用两组db链接字符串,在需要的时候动态切换。默认情况下叫做default,你可以建立两组一个组是read配置,两一个组是write组。
读写分离的难点是如何保证数据的一致性和完整性,不过这个已经相当成熟了,尝试google之解决,主要工作在服务器调配上下功夫。
回复
支持
反对
使用道具
举报
显身卡
spt119
spt119
当前离线
积分
866
IP卡
狗仔卡
发表于 2011-6-13 16:22:27
|
显示全部楼层
提供一个思路:
对于频繁的数据库读取(read only),开启缓存(数据库缓存)能大幅下降数据库的I/O和内存占用。
对于频繁的数据库读写(read & write),最好设定一个中间表,所有的写数据都统一写到这个表上,然后设置定时(手动或自动),按照程序的逻辑和需求,在规定时间内写入到各个具体目标表中。
看起来是两次操作数据库,增加了数据库的读写。但当访问量较大时,你会发现,write的表是一个还是多个,对于整体数据库的效率,区别还是很大的。
回复
支持
反对
使用道具
举报
显身卡
Shil.P.L
Shil.P.L
当前离线
积分
95
IP卡
狗仔卡
发表于 2011-6-17 15:10:06
|
显示全部楼层
回复
支持
反对
使用道具
举报
显身卡
avinmo
avinmo
当前离线
积分
393
IP卡
狗仔卡
发表于 2011-6-20 23:08:47
|
显示全部楼层
学习了。。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页