linux 下安装redis并用QT写客户端程序进行连接
1.安装redis。使用如下命令:
wget http://dowload.redis.io/redis-stable.tar.gz
tar xzf redis-stable.tar.gz
cd redis-stable
make(可以用make test 进行检查是否编译正确)
make intall
2.启动redis,使用如下命令
启动redis服务器
redis-server
启动redis客户端
redis-cli
默认情况下,server地址为127.0.0.1,port为6379
在redis-cli命令行下可以键入ping命令来查看是否连接成功,成功的话会返回PONG
在redis-cli下使用set命令来创建键值对,比如set key vlue命令,就是创建了关键字为key,值为value的命令、可以使用get命令来取值,比如set完上述关键字之后,利用get key
命令,会打印value.
3.使用QT做客户端连接
首先需要安装客户端的lib,我安装的是hiredis,使用如下命令进行安装。
git clone https://github.com/redis/hiredis
cd hiredis
make
sudo make install(复制生成的库到/usr/local/lib目录下)
sudo ldconfig /usr/local/lib
安装之后要在QT项目中配置lib.
首先,新建QT Application项目
在.pro中添加配置文件,如下操作
LIBS+=-L/usr/local/lib -lhiredis
这样编译的时候就不会出现找不到函数的问题了。
我在UI中创建了一个button和一个textEdit,点击button就连接redis,来返回上面所set的key的value值。然后让这个value显示在textEdit中。
代码如下:
void MainWindow::on_pushButton_clicked()
{
struct timeval timeout={2,0};
redisContext* pRedisContext=(redisContext*)redisConnectWithTimeout("127.0.0.1",6379,timeout);
const char* command("get key");
redisReply* reply=(redisReply*)redisCommand(pRedisContext,command);
QString str=reply->str;
ui->textEdit->append(str);
}
这样就可以在文本框中显示了“value”。