当前位置: 首页 > 图文教程 > 网络编程 > PHP > php 分库分表hash算法

PHP
php基础知识:类与对象(5) static
谈谈新手如何学习PHP
Breeze 文章管理系统 v1.0.0正式发布
缓存技术详谈—php
php 进阶:实现无限分类
落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
PHP读MYSQL中文乱码的解决方法
亲密接触PHP之PHP语法学习笔记1
IIS环境下快速安装、配置和调试PHP5.2.0
转PHP手册及PHP编程标准
PR值查询 | PageRank 查询
PHP函数utf8转gb2312编码
PHP 模板高级篇总结
PHP 编程请选择正确的文本编辑软件
使用 MySQL 开始 PHP 会话
PHP 的几个配置文件函数
剖析 PHP 中的输出缓冲
Windows2003 下 MySQL 数据库每天自动备份
30分钟学会用PHP写带数据库的简单通讯录
php下看实例学正则表达式

PHP 中的 php 分库分表hash算法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 268 ::
收藏到网摘: n/a

分享一个分库分表hash算法,需要的朋友可以参考下。
复制代码 代码如下:

//分库分表算法
function calc_hash_db($u, $s = 4)
{
$h = sprintf("%u", crc32($u));
$h1 = intval(fmod($h, $s));
return $h1;
}

for($i=1;$i<100;$i++)
{
echo calc_hash_db($i);
echo "<br>";
}
function calc_hash_tbl($u, $n = 256, $m = 16)
{
$h = sprintf("%u", crc32($u));
$h1 = intval($h / $n);
$h2 = $h1 % $n;
$h3 = base_convert($h2, 10, $m);
$h4 = sprintf("%02s", $h3);
return $h4;
}