架构分享[个人笔记]

本文探讨了通过引入缓存处理器来减少数据访问层代码的方法,包括使用Namespace自动清理缓存,以及通过垂直和水平切分数据库来优化数据访问。同时介绍了如何利用内存缓存程序jmcd支持namespace遍历,并讨论了最佳缓存实践。
摘要由CSDN通过智能技术生成

1. 缓存-->系统替代程序员接管了缓存的存取访问,缓存的 Key 和 Value 由系统处理.
2. cache 处理器的引入减少了 40% 的数据访问层代码 !
3. 采用了 Namespace 的方法使得缓存能自动清除了.
4. Namespace 借助 PHP fcgi + SQLite 使得系统变得很慢 (10000w pv/day)
5. memcached 不支持namespace,也不支持遍历.
6. 际遇之前开发的 monkey(java nio 框架)实现了一个支持namespace 遍历功能的内存缓存程序 jmcd.我们采用了简单高效的 STP 协议.
7. 逻辑层(cache 处理器)-->R
 数据访问层(cache 处理器)-->W
8. NS处理器 --->Namespace cache
9. Data Accessor---->缩减数据访问代码.
10. DAL 关于分库:
 1). 垂直切分---> 分到不同的数据库和服务器
 2). 水平切分: 对数据进行水平分割. (最好分在同一个数据库)
  a). 主表+辅表.
11. 缓存不应该紧耦合于业务逻辑.
12. 慎用 XC/APC 缓存, mc/jmc 这种远程缓存已经够用了。
13. 缓存的最佳实践:
  缓存单个条目,根据 id list (unique key list) 找到表。
14. 缓存能自动清理就自动清理,不能自动--->想办法自动清理.
15. DAL Server2.0 : core + plugins
 core: 配置处理,查询分析,选路策略,数据处理 .
 plugins :CacheProvider, ConnectionProvider

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值