Example of ThinkPHP (million-level) data sharding technology
Let's talk about the example of using the built-in table sharding algorithm of ThinkPHP to process millions of data. if you need it, let's take a look. Code extracted from thinkphp to see how big data table Sharding is implemented. Data table: house_member_0house_member_1house_member_2house_member_3 Model: class MemberModel extends AdvModel {protected $partition = array('field'=>'username','type'=>'id','num'=>'4'); public function getDao($data=array()) { $data = empty($data) ? $_POST : $data; $table = $this->getPartitionTableName($data); return $this->table($table); }} Action: Class MemberAction extends BaseAction {public function login () {if ($ this-> isPost () {$ this-> validToken (); $ dao = D ('member ') -> getDao (); $ res = $ dao-> where ('username = '. $ _ POST ['username'])-> find (); // output is a custom method // $ isAjax-bool $ this-> output (false );} $ this-> display ();}} |