#include #include #include namespace MR = myx::redis; class RedisClient : public QObject { Q_OBJECT MR::Client m_client; MR::Request* m_request; public: RedisClient() { connect(&m_client, &MR::Client::connected, this, &RedisClient::slotConnected); m_client.connectToHost("127.0.0.1"); } virtual ~RedisClient() {} Q_SLOT void slotConnected() { m_request = m_client.sendCommand("PING"); connect(m_request, &MR::Request::reply, this, &RedisClient::slotPong); } Q_SLOT void slotPong( const MR::Reply& reply) { qDebug() << static_cast(reply.type()); qDebug() << const_cast(reply).value().toString(); m_request->disconnect(); m_request->deleteLater(); } Q_SLOT void slotSetValue( const MR::Reply& reply) { qDebug() << static_cast(reply.type()); qDebug() << const_cast(reply).value().toString(); m_request->disconnect(); m_request->deleteLater(); m_request = m_client.sendCommand( "GET value" ); connect(m_request, &MR::Request::reply, this, &RedisClient::slotGetValue); } Q_SLOT void slotGetValue( const MR::Reply& reply) { qDebug() << static_cast(reply.type()); qDebug() << const_cast(reply).value().toByteArray(); m_request->disconnect(); m_request->deleteLater(); m_request = m_client.sendCommand( "SUBSCRIBE test" ); connect(m_request, &MR::Request::reply, this, &RedisClient::slotSubscribeTest); } Q_SLOT void slotSubscribeTest( const MR::Reply& reply) { qDebug() << static_cast(reply.type()); qDebug() << const_cast(reply).value().toByteArray(); } };