Easyswoole Redis协程客户端发布
欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/1010/116918.html
EasySwoole Redis协程客户端发布
很多人可能都会问,Swoole不是自带了协程的Redis客户端吗?回答是的,感谢swoole开发组的辛勤为我们开发的redis客户端
然而,在生产中,我们发现了一些问题
swoole的redis客户端并没有完全支持redis的全部命令,比如geo搜索,还有事务,特别是集群模式的redis,swoole客户端并不支持
为此,我们决定用swoole的tcp客户端实现一个完整版的redis客户端
项目地址:https://github.com/easy-swool...
Easyswoole项目主页:https://github.com/easy-swool... (喜欢记得点个star)
Easyswoole项目官网:https://www.easyswoole.com/
支持方法
目前,该redis客户端组件,已经支持除去脚本外的所有方法(目前支持了181个方法):
连接方法(cluster)集群方法(connection)geohash哈希(hash)键(keys)列表(lists)订阅/发布(pub/sub)服务器(server)字符串(string)有序集合(sorted sets)集合 (sets)事务 (transaction)由于redis的命令较多,可能漏掉1,2个命令
redis使用示例
<?phpinclude "../vendor/autoload.php";go(function (){ $redis = new \EasySwoole\Redis\Redis(new \EasySwoole\Redis\Config\RedisConfig([ 'host' => '127.0.0.1', 'port' => '6379', 'auth' => 'easyswoole', 'serialize' => \EasySwoole\Redis\Config\RedisConfig::SERIALIZE_NONE ])); var_dump($redis->set('a',1)); var_dump($redis->get('a'));});
redis集群使用示例
<?phpinclude "../vendor/autoload.php";go(function () { $redis = new \EasySwoole\Redis\RedisCluster(new \EasySwoole\Redis\Config\RedisClusterConfig([ ['172.16.253.156', 9001], ['172.16.253.156', 9002], ['172.16.253.156', 9003], ['172.16.253.156', 9004], ], [ 'auth' => '', 'serialize' => \EasySwoole\Redis\Config\RedisConfig::SERIALIZE_PHP ])); var_dump($redis->set('a',1)); var_dump($redis->get('a')); var_dump($redis->clusterKeySlot('a'));});