Qt工作笔记-使用hiredis连接及查询Redis
目录
基本概念
代码与实例
基本概念
前几天学了个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相关推荐
- Qt工作笔记-ui文件连接信号与槽
今天又学到了新的东西,当然,这个也是在和李主任交谈的时候学会的,以前从来没这么做过. 下面演示下,用的代码是下面这篇博文的代码: https://blog.csdn.net/qq78442761/ar ...
- Qt工作笔记-发送端发送Json格式的数据包,接收端解析数据包
原理以及运行 原理是因为QJsonDocument提供了一个函数toJson 可以直接把Json数据转成QByteArray,这样就可以直接发送数据包,然后再按照常规方法解析即可,本源码中含解析内容, ...
- Qt工作笔记-Qt连接Mysql数据库,检索及修改表数据
目录 原理 演示及现象 原理 因为要对数据库进行操作,然后用某个程序看现象,如果有一个进程,能对指定表中的所有数据进行批量修改,那么看现象将会多么的明显啊! 个人感觉实现这种功能大体有两种思路,一个是 ...
- Qt工作笔记-Qt元对象系统解析【2合1】
博文转载地址: https://blog.csdn.net/spwper/article/details/51332187 说Qt信号与槽是一个很好机制,不如说Qt的元对象系统很强大.这也是大家讲Qt ...
- C/C++|Qt工作笔记-4种方法判断当前对象(类)名或标识(继承发,typeid法,元对象className()法,Q_CLASSINFO法)
回想起3个月前,刚刚参加工作也做过类似的笔记,但只有2种方法,估计刚毕业没有什么墨水,经过3个月时间又多了2种方法: 这些方法都可用于RTTI 第一个方法是继承发(C++中很推荐用这个,感觉用这个结构 ...
- Qt工作笔记-Qt5中中文编码方面的笔记
目前在使用国内的数据库和实时库接口. 说句实话,国内的东西与国外的东西比,在用户体验和接口调用上比还是存在很大的距离. 个人喜欢用QString去存储数据.个人感觉QTL比STL开发起来要快点 这里有 ...
- Qt工作笔记-使用toVariant().toMap()分割Json文件(666解析法)
目录 概念 演示过程及源码 概念 今天看到大佬去解析Json文件的代码,简直666,特意记录此笔记,方便以后用得到,肯定会用得到. 演示过程及源码 如下面的这个Json代码,这个是调用face++的h ...
- Qt文档阅读笔记-Qt工作笔记-QThread解析与实例(主线程发送信号给子线程)
目录 QThread 官方解析 博主栗子 子线程发射信号给主线程 QThread 官方解析 Detailed Description QThread类提供了跨平台的线程管理的API. QThread对 ...
- Qt工作笔记-对connect的第五个参数的研究
本程序配合了QObject::sender,关于QObject::sender在下面这个链接中: https://blog.csdn.net/qq78442761/article/details/81 ...
最新文章
- boke例子: freermarker:在使用ajax传递json数据的时候多出冒号
- 利用世界杯,读懂 Python 装饰器
- Dubbo:Spring Cloud 服务调用的新选择
- Android 对话框,确定取消
- 揭秘计算机之间互发数据的关键原理!
- 机器人车间气管_大开眼界!机器人焊装车间火力全开
- 人工智能应用于自动驾驶技术中的优势
- 4.15Day20加密模块,表格操作模块
- Qt warning : 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
- CSS权威指南(第三版)笔记
- 【JY】构件配筋计算笔记汇总(入门)
- jdy视频直播流采集分析
- excel 图表 保持矢量图格式 粘贴进word
- 掌握如何使用Rose绘制活动图的方法
- linux centos数据备份,centOS系统的备份与还原
- XML是什么鬼?全称叫啥勒?
- 1959-打印镂空字符三角形
- html找到多行注释报错,前端注释总结
- 看完,你就理解什么是数据的全量、增量、差异备份了
- 无人驾驶(二)---室外导航之RTK配置与接入及GPS与UTM坐标转换