用socket操做redis

 

代碼:html

$cmd = "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\nbar\r\n"; // set foo bar
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, '127.0.0.1', 6379);

$flag = socket_write($socket,$cmd,strlen($cmd));

eee($flag);

 

reids 協議採用文本協議mysql

具體參考 http://www.redisdoc.com/en/latest/topic/protocol.htmlgit

telnet除了支持原生的tcp協議外,redis還特別爲他設計了一種 內聯命令, 使它能夠像在 redis-cli 中同樣操做redisgithub

 

redis:文本協議redis

memcached:文本協議+二進制協議sql

http:文本協議socket

gearman:二進制協議tcp

mysql:二進制協議memcached

 

二進制協議:傳輸數據量更小,效率更高,但不易擴展,可讀性很差spa

文本協議:傳輸數據多,可讀性好,易擴展

 

predis 是一個採用原生socket方式來操做redis 的擴展

 

協議的簡單理解

相關文章
相關標籤/搜索