Redis是一个高性能的key-value数据库。 Redisedis的出现,非常大程度补偿了memcached这类key/value存储的不足,在部分场合能够对关系数据库起到非常好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等client,使用非常方便。

本文将通过介绍Ubuntu环境下的Redis 配置,介绍C++入门使用的方式,帮助读者高速上手Redis。

安装配置

获取源代码、解压、进入源代码文件夹,编译

<code>$ wget http://download.redis.io/redis-stable.tar.gz
$ tar xvzf redis-stable.tar.gz
$ cd redis-stable
$ make</code>



測试、安装

$ make test
$ sudo make install

make命令运行完毕后,会在 src 文件夹下生成本个可运行文件,各自是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用例如以下:

redis-server         :Redis服务器的daemon启动程序

redis-cli                :Redis命令行操作工具。当然,你也能够用telnet依据其纯文本协议来操作

redis-benchmark  :Redis性能測试工具,測试Redis在你的系统及你的配置下的读写性能

redis-stat              :Redis状态检測工具,能够检測Redis当前状态參数及延迟状况。

Run Redis with:

$ src/redis-server

You can interact with Redis using the built-in client:

$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

或者參见 http://redis.io/topics/quickstart

C++配置与入门使用

配置

on Ubuntu:

$ apt-get install libhiredis-dev

On OSX run:

$ brew install hiredis

on other platforms:

$ git clone https://github.com/antirez/hiredis.git && cd hiredis && make && sudo make install && sudo ldc

否则,因为缺少hiredis依赖关系,可能出现错误:

error: hiredis/hiredis.h: No such file or directory

入门使用

redisTest.cpp

#include <stdio.h>
#include <hiredis/hiredis.h> int main()
{
redisContext* conn = redisConnect("127.0.0.1",6379);
if(conn->err){
printf("connection error:%s\n",conn->errstr);
}  redisReply* reply = (redisReply*)redisCommand(conn,"set foo 1234");
freeReplyObject(reply);  reply = (redisReply*)redisCommand(conn,"get foo");
printf("%s\n",reply->str);
freeReplyObject(reply);  redisFree(conn);
return 0;
}

编译命令

g++ redisTest.cpp -o redisTest -I./deps/hiredis/ -L./deps/hiredis/ -lhiredis

进阶请看源代码与測试用例: https://github.com/redis/hiredis

Ubuntu环境下的Redis 配置与C++使用入门的更多相关文章

  1. ubuntu环境下使用apt-get配置apache+php+mysql

    主要步骤:1,安装apachesudo apt-get install apache2sudo /etc/init.d/apache2 restart2,安装phpsudo apt-get insta ...

  2. ubuntu环境下安装Redis

    1.命令行安装 sudo apt-get update sudo apt-get install redis-server 2.启动redis $redis-server :C Aug ::42.26 ...

  3. ubuntu环境下eclipse的安装以及hadoop插件的配置

    ubuntu环境下eclipse的安装以及hadoop插件的配置 一.eclipse的安装 在ubuntu桌面模式下,点击任务栏中的ubuntu软件中心,在搜索栏搜索eclipse 注意:安装过程需要 ...

  4. Ubuntu环境下配置GCC

    Ubuntu网络环境下安装GCC及其头文件步骤: 1.Ubuntu环境下配置GCC 刚装好的GCC什么都不能编译,因为没有一些必须的头文件,所以要安装build-essential,安装了这个包会安装 ...

  5. 在Ubuntu环境下配置NIMH MEG Core Facility之CTF Tools

    在Ubuntu环境下配置NIMH MEG Core Facility之CTF Tools 网站有提示: The install script won't work, but you can copy ...

  6. Ubuntu环境下配置Android Studio【转】

    本文转载自:https://www.jianshu.com/p/1f6295f9c955 之前学习Android开发的时候,一直跟各种教程一样,使用的是Eclipse+ADT,主要是比较方便,容易上手 ...

  7. 在Ubuntu环境下配置Proxmark3(PM3)使用环境

    参考资料:PM3官方Wiki 因为国内网络上大多是在Kali系统上使用PM3的教程(链接1.链接2.链接3),而这些教程的步骤对于Ubuntu系统并不完全适用.所以写下本文,记录我个人的安装经历. 本 ...

  8. Ubuntu环境下SSH的安装及使用

    Ubuntu环境下SSH的安装及使用 SSH是指Secure Shell,是一种安全的传输协议,Ubuntu客户端可以通过SSH访问远程服务器 .SSH的简介和工作机制可参看上篇文章SSH简介及工作机 ...

  9. ubuntu环境下docker安装步骤

    本文是根据docker官方文档翻译,原文:https://docs.docker.com/engine/installation/linux/ubuntulinux/ Docker 支持以下 Ubun ...

随机推荐

  1. 使用DbUtils实现CRUD

    commons-dbutils 这是 Apache 提供了一个开源组织 JDBC工具库,它是JDBC简包,学习成本低,和使用dbutils可以大大简化jdbc的工作量,同一时候也不会影响程序的性能.因 ...

  2. oracle物化视图使用+hibernate

    使用过程 ----删除 TRUNCATE TABLE mlog$_xxx_lxz_tmp;DROP MATERIALIZED VIEW LOG ON xxx_lxz_tmp; drop materia ...

  3. 【Android进阶】Android调用WebService的实现

    最近想自己搞搞服务器,就从最简单的webservice开始吧 先上效果图 项目结构 开始贴代码,注释都有,有问题的请留言 MainActivity.java package com.example.w ...

  4. servlet(jsp)中的重定向和转发

    servlet(jsp)中的重定向和转发 由一个servlet(jsp)从内部转向还有一个servlet(jsp)有两种方式:转发和重定向. 转发:是由一个web组件(servlet)将未完毕的处理交 ...

  5. linux进程通信之共享内存

    共享内存同意两个或多个进程共享一给定的存储区,由于数据不须要来回复制,所以是最快的一种进程间通信机制.共享内存能够通过mmap()映射普通文件(特殊情况下还能够採用匿名映射)机制实现,也能够通过系统V ...

  6. 在 Swift 语言中更好的处理 JSON 数据:SwiftyJSON

    SwiftyJSON能够让在Swift语言中更加简便处理JSON数据. With SwiftyJSON all you have to do is: ? 1 2 3 4 let json = JSON ...

  7. 从电商秒杀与抢购谈Web系统大规模并发

    从电商秒杀与抢购谈Web系统大规模并发 http://www.iamlintao.com/4242.html 一.大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程 ...

  8. python学习——编码

    为了将各种不同的语言都包括在同一的字符集中,满足国际间的信息交流国际上制定了UNICODE字符集. 通过使用UNICODE字符集能够满足跨语言的文字处理,有效的避免乱码产生. 用法:在脚本中添加下面代 ...

  9. System.ComponentModel.BackgroundWorker在WinForm中的异步使用

    为了防止操作过程中界面卡死,和WinForm搭配最适合的就是BackgroundWorker了.BackgroundWorker 类 using System; using System.Compon ...

  10. hdu 3076 ssworld VS DDD (概率dp)

    ///题意: /// A,B掷骰子,对于每一次点数大者胜,平为和,A先胜了m次A赢,B先胜了n次B赢. ///p1表示a赢,p2表示b赢,p=1-p1-p2表示平局 ///a赢得概率 比一次p1 两次 ...