G-dis3(Ubuntu上的Redis客户端软件G-dis3)是采用纯C++语言开发的跨平台的Redis客户端。G-dis底层采用操作系统的socket Api,通过调用poll、MSG_PEEK来控制socket连接超时和做socket阻塞判断。
Linux的Redis客户端软件G-dis3支持二进制的key、value数据存入和取出Redis Server。其中,二进制数据统一采用Base64表示方法。当一个key或value的数据无法转换为指定字符集数据时,系统会默认采用Base64方式表示数据。
Linux的Redis客户端软件G-dis3支持Redis Server的常用数据类型:String、Set、List、Hash、SortedSet。
Linux的Redis客户端软件G-dis3对key的模式搜索不会返回Redis Server的所有Key数据,所以,不会导致正式环境连接服务器时的内存溢出等问题。软件采用scan的方式搜索key,比Redis Desktop Manager更适合做正式环境大数据量key的搜索、value数据的维护。
G-dis3 C++版代码开发原理:
1、分析了Redis客户端的代码,总结了Redis客户端的
processLineItem
processBulkItem
processAggregateItem
读取数据的三个主体方法;
2、通过分层架构,将开发代码分为TCP层、Redis业务层、异步调用层以及UI层:
TCP层包装操作系统相关的socket代码;
Redis业务层通过调用TCP层实现对Redis客户端协议的支持,包括:操作Redis数据的请求-响应处理方法;
异步调用层转换UI层传递过来的参数为适配Redis业务层的参数,并通过异步线程调用Redis业务层;
3、在Operate Data(操作数据)界面,特殊处理二进制数据为'\B'开头的数据,使得在G-dis3中完美支持二进制数据的显示和操作。
由于代码分层的合理,开发过程十分顺畅和迅速,总体开始开发到上架不到一个月的业余时间,并且中间还完整休息了十五天的陪产假。
下面放上Ubuntu软件中心的G-dis3下载链接,以及截图:
Install g-dis3 on Linux | Snap Store