Lv.的博客

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”。

posted @ 2018-11-02 15:53  Avatarx  阅读(1999)  评论(0编辑  收藏  举报