linux c++ 小游戏,Linux下C++操作Redis

作者:2014-03-12

介绍

Redis的全称是Remote Dictonary Server(远程字典服务器),redis是由Salvatore Sanfilippo写的一个高性能key-value存储系统,Redis有如下优点:

高性能 - Redis能支持超过100K+每秒的读写频率

丰富的数据类型 - Redis支持Strings、Lists、Hashes、Sets及Ordered Sets等数据类型

原子性 - Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子操作

丰富的特性 - Redis还支持发布/订阅、事务、key过期等特性

安装Redis

打开Redis官网,进入下载页面,选择一个适合自己电脑的版本下载即可,下载飞机票http://redis.io/download,下载完成后解压、编译、安装,依次在终端下执行如下命令:

tar -zxvf redis-2.8.7.tar.gz

cd redis-2.8.7

sudo apt-get install tcl(redis测试程序需要tcl版本至少为8.5)

make 32bit(64位系统直接使用make即可)

sudo make install(将编译生成的可执行文件拷贝到/usr/local/bin目录下)

make test(用于确认安装正确与否)

编译生成的可执行文件有:

redis-server redis服务器

redis-cliredis客户端

redis-benchmark redis性能测试工具

redis-check-aofaof文件修复工具

redis-check-dumprdb文件检查工具

redis-sentinelredis集群管理工具

编译、安装完成后,在终端中输入redis-server以最简单的方式启动redis服务端,然后在另一个终端中输入redis-cli来连接redis服务端,接下来可以尝试各种命令了,可以在http://try.redis.io预习下redis的各种命令,还可以在redis官网查看redis支持的命令。

安装hiredis

需要使用C/C++操作Redis,就需要安装C/C++ Redis Client Library,这里我使用的是hiredis,这是官方使用的库,而且用得人比较多,在终端下依次执行下列命令进行下载、安装:

git clone https://github.com/redis/hiredis

cd hiredis

make

sudo make install(复制生成的库到/usr/local/lib目录下)

sudo ldconfig /usr/local/lib

C/C++操作Redis

所有的准备工作已经做完了,接下来测试下如何使用C/C++操作Redis,代码如下:

#include

#include

#include

int main(int argc, char **argv)

{

struct timeval timeout = {2, 0}; //2s的超时时间 //redisContext是Redis操作对象 redisContext *pRedisContext = (redisContext*)redisConnectWithTimeout("127.0.0.1", 6379, timeout);

if ( (NULL == pRedisContext) || (pRedisContext->err) )

{

if (pRedisContext)

{

std::cout << "connect error:" << pRedisContext->errstr << std::endl;

}

else

{

std::cout << "connect error: can't allocate redis context." << std::endl;

}

return -1;

}

//redisReply是Redis命令回复对象 redis返回的信息保存在redisReply对象中 redisReply *pRedisReply = (redisReply*)redisCommand(pRedisContext, "INFO"); //执行INFO命令 std::cout << pRedisReply->str << std::endl;

//当多条Redis命令使用同一个redisReply对象时 //每一次执行完Redis命令后需要清空redisReply 以免对下一次的Redis操作造成影响 freeReplyObject(pRedisReply);

return 0;

}

保存退出,执行g++ OperatorRedis.cpp -o OperatorRedis -lhiredis进行编译,编译完成后执行./OperatorRedis运行程序(在运行程序前需要启动redis服务端,否则会得到connect error:Connection refused这样的错误),不出意外的话会看到输出的redis服务器信息~

好了,C++操作Redis先进行到这里了,我这边封装了一个C++操作Redis的类,等完善后会放出来…

Redis学习链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值