我一直在使用predis來試圖找出如何運行原始redis命令,但我遇到了麻煩。 predis的文檔非常過時。它說,有一個名爲「rawCommand()」方法,這將允許用戶運行原始Redis命令,但我發現了一個更新日誌,指出它不再支持: https://github.com/nrk/predis/blame/master/CHANGELOG如何在PHP中運行原始redis命令?
沒有人有多麼任何提示我可以運行原始的redis命令?
我一直在使用predis來試圖找出如何運行原始redis命令,但我遇到了麻煩。 predis的文檔非常過時。它說,有一個名爲「rawCommand()」方法,這將允許用戶運行原始Redis命令,但我發現了一個更新日誌,指出它不再支持: https://github.com/nrk/predis/blame/master/CHANGELOG如何在PHP中運行原始redis命令?
沒有人有多麼任何提示我可以運行原始的redis命令?
在這裏,你去。這已經完全爲我工作,我不知道它甚至有這樣的功能
$cmdSet = $redis->createCommand('set');
$cmdSet->setArgumentsArray(array('library', 'predis'));
$cmdSetReply = $redis->executeCommand($cmdSet);
他對這個wiki page。尋找發送命令。
我實際上在這裏猜測,但讓我們假裝一段時間,我沒有大聲說出來。
檢查第176行的lib/Predis/Network/StreamConnection.php中的writeCommand()函數,並在examples/SimpleDebuggableConnection.php中通過SimpleDebuggableConnection使用它。您仍然必須定義lib/predis/commands中尚未定義的新命令,如@Colum引用的wiki中所述。
如果您確實感到冒險,請將第96行的StreamConnection中的protected方法writeBytes()更改爲public。這應該讓你
$redis->getConnection()->writeBytes("*3\r\n$3\r\nSET\r\n$5\r\nmykey\r\n$7\r\nmyvalue\r\n")
不幸的是給它純淨的Redis,宣傳()似乎進去http://en.wikipedia.org/wiki/Object_orgy反模式的方向writeBytes。
祝你好運!
很簡單!
藉此類:RedisServer
寫:
$redis = new \Jamm\Memory\RedisServer();
$redis->send_command('set','key',5); //here any raw command