【C/C++】c++多程式與hiredis的淺使用
#include <iostream>
#include <hiredis/hiredis.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
int main(){
pid_t pid;
pid = fork();
if(pid <0 ){
std::cout<< "fork error!"<<std::endl;
}
//父子程式都執行
redisContext* conn = redisConnect("10.1.175.130", 6379);
if(NULL==conn || conn->err){
if(conn){
std::cout<<"Error:"<<conn->errstr<<std::endl;
redisFree(conn);
} else {
std::cout<<"Error:Can't allocate redis context"<<std::endl;
}
return 0;
}
if(0==pid){
const char* command = "set name yuanzaixin";
redisReply* r = (redisReply*)redisCommand(conn, command);
if(NULL==r){
redisFree(conn);
return 0;
}
std::cout<<"fork child"<<std::endl;
freeReplyObject(r);
}
if(pid >0){
//父程式執行不一樣的命令
const char* command = "set name xinzaiyuan";
redisReply* r = (redisReply*)redisCommand(conn, command);
if(NULL==r){
redisFree(conn);
return 0;
}
std::cout<<"fork parent"<<std::endl;
freeReplyObject(r);
}
//父子程式都執行
if (NULL!=conn){
redisFree(conn);
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30221425/viewspace-2565029/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C++ 使用 hiredis 封裝redis 的資料獲取介面C++Redis封裝
- C++的多型C++多型
- JAVA與C++的多型異同JavaC++多型
- 【c++】淺拷貝與深拷貝C++
- 【c++】深賦值與淺賦值C++賦值
- C++多型C++多型
- C++——多型C++多型
- C++中的enum淺談C++
- C 與 C++C++
- C++使用Boost多執行緒C++執行緒
- C與C++中struct使用的區別C++Struct
- C++多工程式設計簡明教程(1)-C++的多工其實很簡單C++程式設計
- C/C++—— 一個特別奇怪的C++程式C++
- C++ string (淺談)C++
- C++多型性C++多型
- [C++]C++程式設計例項C++程式設計
- 淺析 C++ 的封裝性C++封裝
- C++多程式併發框架FFLIBC++框架
- C++ 物件的使用C++物件
- c與c++的相互呼叫C++
- c與c++的區別C++
- 使用 C++ 11 編寫 Linux 多執行緒程式C++Linux執行緒
- C/C++——C++中new與malloc的10點區別C++
- android使用JNI呼叫C,C++程式AndroidC++
- C/C++—— C++編譯器是如何實現多型C++編譯多型
- 加固 C/C++ 程式C++
- C++編譯期多型與執行期多型C++編譯多型
- C++ remove erase 用法淺析C++REM
- 淺析氣泡排序-c++排序C++
- 程式設計思想之多執行緒與多程式(4):C++ 中的多執行緒程式設計執行緒C++
- c++學習(1)--C++封裝、繼承、多型C++封裝繼承多型
- c++程式框架C++框架
- c++ sizeof使用C++
- C++ 多執行緒C++執行緒
- c++多執行緒C++執行緒
- 21天學通C++(C++程式的組成部分)C++
- 淺談Java、PHP、C++程式設計的優缺點JavaPHPC++程式設計
- C++ 容器vector的使用C++