美文网首页
【Poco笔记】Redis基本操作

【Poco笔记】Redis基本操作

作者: 安安爸Chris | 来源:发表于2018-10-19 17:38 被阅读0次

Redis基本操作主要是指客户端侧的行为,直接上代码实例

Client

#include <iostream>
#include <string>

#include <Poco/Redis/Client.h>
#include <Poco/Redis/Array.h>

using namespace std;

using Poco::Redis::Client;
using Poco::Redis::Array;

// 这段函数在2.0代码中增加到了Client中
bool sendAuth(Client &client, const string& pwd) {
    Array cmd;
    cmd << "AUTH" << pwd;

    std::string response;

    try {
        response = client.execute<std::string>(cmd);
    } catch (...) {
        return  false;
    }

    return (response == "OK");
}

int main(int argc, char **argv) {
    Client client;
    client.connect("127.0.0.1", 6379);
    // 如果设置了密码,则需要下面鉴权。
    if (!sendAuth(client, "xxxxxxxxx")) {
        cout << "authentication failure!" << endl;
        return 1;
    }

    Array cmd;
    cmd << "SET"<<"name"<<"anan";
    std::string response;
    try {
        response = client.execute<std::string>(cmd);
        cout << response << endl;
    } catch (Poco::BadCastException &e) {
        cout << e.displayText();
    } catch (Poco::Redis::RedisException &e) {
        cout << e.displayText();
    }
    catch (...) {
        return 1;
    }

    return 0;
}

实际上就是命令行的一个封装,一些命令行可以通过Array输入。

那如果要获取数据呢?

    Array cmd;
    cmd << "GET"<<"name";
    Poco::Redis::BulkString response; //注意,这里要使用BulkString
    try {
        response = client.execute<Poco::Redis::BulkString>(cmd);
        cout << response << endl;
    } catch (Poco::BadCastException &e) {
        cout << e.displayText();
    } catch (Poco::Redis::RedisException &e) {
        cout << e.displayText();
    }
    catch (...) {
        return 1;
    }

    return 0;
}

需要说明的事execute函数模板只接受以下几种类型

    enum Types 
    {
        REDIS_INTEGER,       /// Redis Integer
        REDIS_SIMPLE_STRING, /// Redis Simple String
        REDIS_BULK_STRING,   /// Redis Bulkstring
        REDIS_ARRAY,         /// Redis Array
        REDIS_ERROR          /// Redis Error
    };
redis.PNG

注意这个类型,加了双引号的就是BULK STRING,不加的,是数字就是integer,不是的就是simple string。

相关文章

  • 【Poco笔记】Redis基本操作

    Redis基本操作主要是指客户端侧的行为,直接上代码实例 Client 实际上就是命令行的一个封装,一些命令行可以...

  • Redis & C++:第1篇 安装 Poco 库

    Install Poco on CentOS 7 这是介绍C++基于Poco::Redis库操作Redis的系列文...

  • php操作redis大全

    php连接redis测试 php操作redis函数封装 php操作redis大全,基本上php操作redis常用的...

  • Redis学习之路(二):Redis数据结构简介

    Redis提供的5种结构 Redis中的字符串 基本命令 操作练习: Redis中的列表 基本命令 基本操作: R...

  • php对redis的基本操作

    php对redis的基本操作 对key的基本操作

  • php操作redis大全

    php连接redis测试 php操作redis大全,基本上php操作redis常用的函数都在下面了

  • redis 基本操作

    连接redis 选择数据库 查看所有key 查看list的全部值 返回列表 key 中指定区间内的元素,区间以偏移...

  • Redis 基本操作

    本人郑重承诺以下都是基本操作,请坐下请坐下。内容是跟着http://try.redis.io/做的。边学边笔记。更...

  • Redis基本操作

    通用操作 rename name xm 把键name重设为xm select 选择数据库(线上慎用) keys *...

  • Redis 基本操作

    启动与关闭Redis服务、进入Redis环境 1.启动Redis服务 redis-server 拷贝的redis....

网友评论

      本文标题:【Poco笔记】Redis基本操作

      本文链接:https://www.haomeiwen.com/subject/qvruzftx.html