杨淇

杨淇

争取早日造轮子。

  • 财富值5620
  • 威望值10
  • 总积分6230

个人信息

  • 赞了回答

    1·将这个 action 所在 controller 继承于 yii\console\Controller 就可以使用 console 执行;
    2·最好是将这个文件放在 commands 目录下,方便管理。

  • docs\guide-zh-CN\concept-events.md 关键概念-事件 5

    docs\guide-zh-CN\concept-aliases 关键概念-别名 1

  • 2017-09-25 已签到
    连续签到22天,获得了20个金钱
  • 2017-09-24 已签到
    连续签到21天,获得了20个金钱
  • 1·将这个 action 所在 controller 继承于 yii\console\Controller 就可以使用 console 执行;
    2·最好是将这个文件放在 commands 目录下,方便管理。

  • 2017-09-23 已签到
    连续签到20天,获得了20个金钱
  • 2017-09-22 已签到
    连续签到19天,获得了20个金钱
  • 回复了 的说说
    怎么玩暗网?
    你说的每一句话,拉的每一坨屎,都将成为呈堂证供。
  • 2017-09-21 已签到
    连续签到18天,获得了20个金钱
  • 回答了问题 redis的sort函数

    yii\redis\Connection 支持的命令中找到以下注释:

    'SORT', // key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination] Sort the elements in a list, set or sorted set
    

    所有的这些命令都会通过下面这个方法执行:

    /**

     * Allows issuing all supported commands via magic methods.
     *
     * ```php
     * $redis->hmset(['test_collection', 'key1', 'val1', 'key2', 'val2'])
     * ```
     *
     * @param string $name name of the missing method to execute
     * @param array $params method call arguments
     * @return mixed
     */
    public function __call($name, $params)
    {
        $redisCommand = strtoupper(Inflector::camel2words($name, false));
        if (in_array($redisCommand, $this->redisCommands)) {
            return $this->executeCommand($name, $params);
        } else {
            return parent::__call($name, $params);
        }
    }
    
        public function executeCommand($name, $params = [])
        {
            $this->open();
    
            array_unshift($params, $name);
            $command = '*' . count($params) . "\r\n";
            foreach ($params as $arg) {
                $command .= '$' . mb_strlen($arg, '8bit') . "\r\n" . $arg . "\r\n";
            }
    
            \Yii::trace("Executing Redis Command: {$name}", __METHOD__);
            fwrite($this->_socket, $command);
    
            return $this->parseResponse(implode(' ', $params));
        }
    

    最终将命令拼成字符串执行,所以正确的写法是

    Yii::$app->redis->sort('keyName', 'LIMIT', '0', '1']);
    
副总裁 等级规则
6230/10000
资料完整度
70/100
用户活跃度
0/100

Ta的关注

15

Ta的粉丝

12

Ta的访客

30