首页 > 编程语言 > 详细

c++知识点

时间:2021-03-03 15:04:55      阅读:21      评论:0      收藏:0      [点我收藏+]

1.c_str

c_str()返回的是一个临时指针

用法:

string redis_cmd = "GET " + redis_key;
result = _rd_client.exec_command(redis_cmd.c_str());

//exec_command定义
redisReply* redis_client::exec_command(const char *cmd) {
    return exec_command_with_args(cmd);
}

 2.多次请求redis操作

const int TIME_WAIT = 100000; //100 ms
string redis_cmd = "GET " + redis_key;
UB_LOG_TRACE("read output redis command: %s", redis_cmd.c_str());

    for (unsigned int i = 1; i <= pay_define::MAX_RETRY_TIMES; i++) 
    {    
        try  
        {    
            redisReply* result = NULL;
            result = _rd_client.exec_command(redis_cmd.c_str());
            if (!result) 
            {    
                UB_LOG_WARNING("get output from redis result is null");
                usleep(TIME_WAIT);
                continue;    
            }    

            if (result->type != REDIS_REPLY_STRING) 
            {    
                if (result->type == REDIS_REPLY_ERROR)
                {    
                    UB_LOG_WARNING("get output from redis result error");
                }    
                else if (result->type == REDIS_REPLY_NIL) 
                {    
                    UB_LOG_WARNING("get output from redis result is empty");
                }    

                freeReplyObject(result);
                usleep(TIME_WAIT);
                continue;
            }    

            //copy redis value to out_pack                                                                                                                                   
            mc_pack_t * pOutput = const_cast<yapserver::mc_pack_writer&>(out_pack);
            memcpy((void*)pOutput, result->str, result->len);

 3.

c++知识点

原文:https://www.cnblogs.com/liuweiweitju/p/14473591.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!