目录

基本概念

代码与实例


基本概念

前几天学了个java的,现在想搞个C++的,但在hiredis上发现了一个qt的。就准备直接用Qt来撸项目算了,毕竟Pro文件,比Makefile要好写多了,先来看下hiredis:

虽然是4年前的,但用起来,还是刚刚的。下面来详细说明下。操作

代码与实例

程序运行截图如下:

这里要先把master文件上传,然后make install下:

ok!这样配置好pro文件,这里要主要,因为qt.h里面的RedisQtAdapter类,是继承了QObject并且有有Q_Object宏,对此,要放到项目中一起编译,生成moc文件,不然会出错。

源码如下:

begin.pro

QT += core
QT -= guiCONFIG += c++11TARGET = begin
CONFIG += console
CONFIG -= app_bundleTEMPLATE = appSOURCES += main.cppLIBS += -L/XXX/XXX/XXX/MyRedis/hiredis-master -lhiredis
INCLUDEPATH += /XXX/XXX/XXX/XXX/hiredis-masterHEADERS += \../../hiredis-master/adapters/qt.h

main.cpp

#include <QCoreApplication>
#include <adapters/qt.h>
#include <QDebug>void getCallback(redisAsyncContext *ctx, void *r, void *privdata){qDebug() << "getCallback called";redisReply *reply = static_cast<redisReply*>(r);if(reply == nullptr){qDebug() << "The reply is nullptr";return;}qDebug() << "result: ";for(int i = 0; i < reply->elements; i++){qDebug() << "key: " << reply->element[i]->str;}
}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);redisAsyncContext *ctx = redisAsyncConnect("XXX.XXX.XXX.XXX", 6379);RedisQtAdapter adapter;if(ctx->err){qDebug()<< "error: " << ctx->errstr;redisAsyncFree(ctx);return 0;}adapter.setContext(ctx);redisAsyncCommand(ctx, nullptr, nullptr, "auth xxxxxxxxx");redisAsyncCommand(ctx, getCallback, nullptr, "KEYS *");qDebug() << "over";return a.exec();
}

源码下载地址:https://github.com/fengfanchen/Qt/tree/master/RedisWithQt

Qt工作笔记-使用hiredis连接及查询Redis相关推荐

  1. Qt工作笔记-ui文件连接信号与槽

    今天又学到了新的东西,当然,这个也是在和李主任交谈的时候学会的,以前从来没这么做过. 下面演示下,用的代码是下面这篇博文的代码: https://blog.csdn.net/qq78442761/ar ...

  2. Qt工作笔记-发送端发送Json格式的数据包,接收端解析数据包

    原理以及运行 原理是因为QJsonDocument提供了一个函数toJson 可以直接把Json数据转成QByteArray,这样就可以直接发送数据包,然后再按照常规方法解析即可,本源码中含解析内容, ...

  3. Qt工作笔记-Qt连接Mysql数据库,检索及修改表数据

    目录 原理 演示及现象 原理 因为要对数据库进行操作,然后用某个程序看现象,如果有一个进程,能对指定表中的所有数据进行批量修改,那么看现象将会多么的明显啊! 个人感觉实现这种功能大体有两种思路,一个是 ...

  4. Qt工作笔记-Qt元对象系统解析【2合1】

    博文转载地址: https://blog.csdn.net/spwper/article/details/51332187 说Qt信号与槽是一个很好机制,不如说Qt的元对象系统很强大.这也是大家讲Qt ...

  5. C/C++|Qt工作笔记-4种方法判断当前对象(类)名或标识(继承发,typeid法,元对象className()法,Q_CLASSINFO法)

    回想起3个月前,刚刚参加工作也做过类似的笔记,但只有2种方法,估计刚毕业没有什么墨水,经过3个月时间又多了2种方法: 这些方法都可用于RTTI 第一个方法是继承发(C++中很推荐用这个,感觉用这个结构 ...

  6. Qt工作笔记-Qt5中中文编码方面的笔记

    目前在使用国内的数据库和实时库接口. 说句实话,国内的东西与国外的东西比,在用户体验和接口调用上比还是存在很大的距离. 个人喜欢用QString去存储数据.个人感觉QTL比STL开发起来要快点 这里有 ...

  7. Qt工作笔记-使用toVariant().toMap()分割Json文件(666解析法)

    目录 概念 演示过程及源码 概念 今天看到大佬去解析Json文件的代码,简直666,特意记录此笔记,方便以后用得到,肯定会用得到. 演示过程及源码 如下面的这个Json代码,这个是调用face++的h ...

  8. Qt文档阅读笔记-Qt工作笔记-QThread解析与实例(主线程发送信号给子线程)

    目录 QThread 官方解析 博主栗子 子线程发射信号给主线程 QThread 官方解析 Detailed Description QThread类提供了跨平台的线程管理的API. QThread对 ...

  9. Qt工作笔记-对connect的第五个参数的研究

    本程序配合了QObject::sender,关于QObject::sender在下面这个链接中: https://blog.csdn.net/qq78442761/article/details/81 ...

最新文章

  1. boke例子: freermarker:在使用ajax传递json数据的时候多出冒号
  2. 利用世界杯,读懂 Python 装饰器
  3. Dubbo:Spring Cloud 服务调用的新选择
  4. Android 对话框,确定取消
  5. 揭秘计算机之间互发数据的关键原理!
  6. 机器人车间气管_大开眼界!机器人焊装车间火力全开
  7. 人工智能应用于自动驾驶技术中的优势
  8. 4.15Day20加密模块,表格操作模块
  9. Qt warning : 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
  10. CSS权威指南(第三版)笔记
  11. 【JY】构件配筋计算笔记汇总(入门)
  12. jdy视频直播流采集分析
  13. excel 图表 保持矢量图格式 粘贴进word
  14. 掌握如何使用Rose绘制活动图的方法
  15. linux centos数据备份,centOS系统的备份与还原
  16. XML是什么鬼?全称叫啥勒?
  17. 1959-打印镂空字符三角形
  18. html找到多行注释报错,前端注释总结
  19. 看完,你就理解什么是数据的全量、增量、差异备份了
  20. 无人驾驶(二)---室外导航之RTK配置与接入及GPS与UTM坐标转换

热门文章

  1. NAND FLASH Controler for IMX31
  2. 如何在数字化转型战略中真正获得价值?浅谈数字化转型的四个层级
  3. 要是不会用数据,算什么IT产品经理?
  4. 那些开发《虚拟光驱》的人们
  5. 为什么我们的软件不及印度
  6. 德不配位,势必遭殃!人事斗争,劝你不要参与!
  7. 精通webpack的5大关键点
  8. TypeError: cannot convert the series to <class ‘float‘>问题解决
  9. Adobe illustrator 设置字体和微调 - 连载 10
  10. 送你一个在线机器学习网站,真香!