zoukankan      html  css  js  c++  java
  • Redis 排行榜 自己简单练习

    <?php
    class Ranks{
    	const PREFIX = 'zhengban';
    	protected $redis = '';
    	/*
    	初始化
    	 */
    	public function __construct(redis $redis){
    		$this->redis = $redis;
    	}
    	/*
    	添加到排行榜
    	 */
    	public function addScores($gameid,$score){
    		$key = self::PREFIX . date('Ymd');
    		return $this->redis->zIncrBy($key, $score, $gameid);
    	}
    	/*
    	获取特定一天的排行榜数据
    	返回一维数组,key是gameid,value是score
    	 */
    	public function getOneDayRankings($date,$start,$end){
    		$key = self::PREFIX . $date;
            return $this->redis->zRevRange($key, $start, $end, true);
    	}
    	/*
    	获取几天数据的排行榜
    	 */
    	public function getMultiDaysRankings($dates,$start,$end){
    		$outKey = null;
    		foreach ($dates as $v){
    			$keys[] = self::PREFIX . $v;
    		}
            //$weights = array_fill(0, count($keys), 1);
            //$this->redis->zUnion($outKey, $keys,$weights);
            $this->redis->zUnion($outKey, $keys);
            return $this->redis->zRevRange($outKey, $start, $end, true);
    	}
    }
    
    	$host = "192.168.1.114";
    	$port = 6379;
    	$pwd = "123456";
    	$redis = new Redis();
    	if ($redis->connect($host, $port) == false) {
    		exit('{"result":"-1"}');   //连接失败
    	}
    	/* AUTH的密码 */
    	if ($redis->auth($pwd) == false) {
    		exit('{"result":"-2"}');   //认证失败
    	}
    
    	$Ranks = new Ranks($redis);
    	//$Ranks->addScores(12,1);
    	$order = $Ranks->getMultiDaysRankings(array(20151021,20151022,20151020),0,9);
    	var_dump($order);
    
    	
    
  • 相关阅读:
    Charpter5 软件测试总结
    Charpter3 关于闰年测试
    Charpter2 新的测试用例
    Charpter1 等价类划分方法分析与应用
    软件测试第一周学习总结
    关于软件测试学习的心得
    软件测试-同行评审
    白盒测试
    黑盒测试
    Java实现的闰年测试程序
  • 原文地址:https://www.cnblogs.com/mr-amazing/p/6245869.html
Copyright © 2011-2022 走看看