php与Redis分页程序代码
Redis在性能上比mysql好点之外但在数据操作上的复杂度我们觉得非常的麻烦,像分页这种做法感觉非常不好使。
用上redis之后速度上去的结果就是操作数据的复杂性了、分页有种脱了裤子放屁的感觉。但是也没有别的办法。代码如下
<?php $redis = new Redis; $redis->connect('127.0.0.1', 6379, 0); //数据库 $host = '********'; $user = 'root'; $psd = '****'; $dbname = 'ask'; $link = mysql_connect($host, $user, $psd); mysql_select_db($dbname, $link); mysql_query("set names utf8"); $SQL = "SELECT * FROM question LIMIT 100"; $query = mysql_query($SQL); $questionName = 'questionName'; while ($info = mysql_fetch_array($query)) { $list[] = $info; $redisName = 'Question_id_' . $info['id']; $redis->hMset($redisName, $info); $redis->zAdd($questionName, $info['id'], $info['id']); $i++; } $range = $redis->zRevRange($questionName, 0, 10); //分页用到的主要函数 foreach ($range as $qid) { $pageList[] = $redis->hGetAll('Question_id_' . $qid); } print_r($pageList); ?>
只是在做例子的时候随便敲敲、完全没有代码规范。请自己封装 基本用上的方法就是Reids的 hMset(),zAdd(), hGetAll(),zRevRange();如有不明白可以查看redis手册,或者与松林讨论。
永久地址:http://www.phprm.com/database/62939.html
转载随意~请带上教程地址吧^^