• Linux上的Redis客户端软件G-dis3


    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

  • 相关阅读:
    springboot连接mysql数据库,密码正确却始终报密码错误问题
    Redis 数据类型
    go语言中的锁底层分析(二)
    C++深入学习part_2
    【Segment Anything Model】SAM做多类别分割,医疗语义分割
    双向链表(Double Linked List)
    四非到保研厦大,我们还有多少路要走----技术人的保研之路
    项目实战——实现注册与登录模块(结尾)
    php正则表达式汇总
    统一SQL 支持Oracle到LightDB-Oracle特性转换
  • 原文地址:https://blog.csdn.net/ranjio_z/article/details/126048625