swoole实现一个redis协议的内存键值对缓存服务器代码

代码语言:phpcli

所属分类:通讯

代码描述:swoole实现一个redis协议的内存键值对缓存服务器代码

代码标签: swoole redis 协议 内存 键值 缓存 服务器 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<?php
use Swoole\Redis\Server;

define
('DB_FILE', __DIR__ . '/db');

$server
= new Server("127.0.0.1", 9501, SWOOLE_BASE);

if (is_file(DB_FILE)) {
    $server
->data = unserialize(file_get_contents(DB_FILE));
} else {
    $server
->data = array();
}

$server
->setHandler('GET', function ($fd, $data) use ($server) {
   
if (count($data) == 0) {
       
return $server->send($fd, Server::format(Server::ERROR, "ERR wrong number of arguments for 'GET' command"));
   
}

    $key
= $data[0];
   
if (empty($server->data[$key])) {
       
return $server->send($fd, Server::format(Server::NIL));
   
} else {
       
return $server->send($fd, Server::format(Server::STRING, $server->data[$key]));
   
}
});

$server
->setHandler('SET', function ($fd, $data) use ($server) {
   
if (count($data) < 2) {
       
return $server->send($fd, Server::format(Server::ERROR, "ERR wrong number of arguments for 'SET' command"));
   
}

    $key
= $data[0];
    $server
->data[$key] = $data[1];
   
return $server->send($fd, Server::format(Server::STATUS, "OK"));
});

$server
->setHandler(&#.........完整代码请登录后点击上方下载按钮下载查看

网友评论0