精华内容
下载资源
问答
  • 一 redis源码编译 很多博客对redis的源码编译都说的很笼统,按照他们的方法基本都编译失败了,redis的windows版目前最新版本是3.2,...很好连接redis,而C++则比较麻烦,下面介绍如何用VS2013编译redis源码,并连...

    一  redis源码编译

            很多博客对redis的源码编译都说的很笼统,按照他们的方法基本都编译失败了,redis的windows版目前最新版本是3.2,linux版最新是5.0,windows系统用C++连接redis不太方便,如果是Java,用maven下载jedis jar包,配置一下,很好连接redis,而C++则比较麻烦,下面介绍如何用VS2013编译redis源码,并连接redis做项目开发。

             windows版redis源码链接: https://github.com/microsoftarchive/redis/tree/3.2,目前版本分支的是3.2翻到页面最下面,可以看到相关的使用、编译、测试等说明。

                     

       

             根据官网说明可知,用VS2013编译,但是必须更新到update5, 否则会出现各种编译错误,确实如此,之前用vs2013的其它版本,出现各种错误,无法修改。

             打开VS2013---帮助---关于,即可查看自己的VS版本,例如我重装之后的update5:

                                                                              

             不是VS2013 update5的可以下载重装。

              vs2013 update5下载链接:http://www.121down.com/soft/softview-43319.html

             

             打开redis-win-3.2.100\msvs\RedisServer.sln 一共9个项目:

                                                

             RedisServer设为启动项目(默认已经设置),编译,如果是update5版的VS2013,是没有编译错的,可以设置x86, x64,运行结果如下:

                                     

             也可以断点调试

                              

             以上是服务端程序,其它的如客户端redis-cli,  断点之后,再启动客户端可以进行相关代码调试。

                                       

    二  C++ 连接redis

             用VS2013创建一个win32控制台程序进行连接测试。需要包含源码中的头文件和编译好的静态库。

             头文件:

            

            lib库目录

           

            无需其它dll, 注意默认编译平台是mixxed platform, 生成的lib和exe在release 目录,不过影响不大,手动改成x86或x64就会到相关目录

         

         C++ 连接redis主要使用hiredis的代码,有些博客的说法有错误,例如:

        (1)把/ src / 下的win32fixes.c放到项目目录下(即main.cpp文件所在位置),我的代码没有这样做;

        (2)hiredis只能在linux上使用,现在也可以在windows上使用;

          

           redis执行程序下载连接:https://github.com/microsoftarchive/redis/releases  解压到任意目录,双击redis-server.exe即可运行。然后编写代码,连接redis-server.

            示例代码如下:

    #include "hiredis.h"
    #include <windows.h>
    #include <iostream>
    
    using namespace std;
    
    #pragma comment(lib, "ws2_32.lib")
    #pragma comment(lib, "hiredis.lib")
    #pragma comment(lib, "Win32_Interop.lib")
    
    void doTest()
    {
    	redisContext* c = redisConnect("127.0.0.1", 6379);
    	if (c->err)
    	{
    		cout << "Connect to redisServer failed: " << c->errstr << endl;
    		redisFree(c);
    		return;
    	}
    
    	cout << "Connect to redisServer Success" << endl;
    
    	const char* command1 = "set test1 value1";
    	redisReply* r = (redisReply*)redisCommand(c, command1);
    
    	if (NULL == r)
    	{
    		cout << "Execut command1 failed" << endl;
    		redisFree(c);
    		return;
    	}
    
    	if (!(r->type == REDIS_REPLY_STATUS && (strcmp(r->str, "OK") == 0 || strcmp(r->str, "ok") == 0)))
    	{
    		cout << "Failed to execute command: " << command1 << endl;
    		freeReplyObject(r);
    		redisFree(c);
    		return;
    	}
    
    	freeReplyObject(r);
    	cout << "Succeed to execute command" << command1 << endl;
    
    	const char* command2 = "strlen test1";
    	r = (redisReply*)redisCommand(c, command2);
    	if (r->type != REDIS_REPLY_INTEGER)
    	{
    		cout << "Failed to execute command" << command2 << endl;
    		freeReplyObject(r);
    		redisFree(c);
    		return;
    	}
    
    	int length = r->integer;
    	freeReplyObject(r);
    	cout << "The length of 'test1' is : " << length << endl;
    	cout << "Succeed to execute command :" << command2 << endl;
    
    	const char* command3 = "get test1";
    	r = (redisReply*)redisCommand(c, command3);
    	if (r->type != REDIS_REPLY_STRING)
    	{
    		cout << "Failed to execute command : " << command3 << endl;
    		freeReplyObject(r);
    		redisFree(c);
    		return;
    	}
    	cout << "The value of 'test1' is : " << r->str << endl;
    	freeReplyObject(r);
    	cout << "Succeed to execute command : " << command3 << endl;
    
    	const char* command4 = "get test2";
    	r = (redisReply*)redisCommand(c, command4);
    	if (r->type != REDIS_REPLY_NIL)
    	{
    		cout << "Failed to execute command : " << command4 << endl;
    		freeReplyObject(r);
    		redisFree(c);
    		return;
    	}
    	freeReplyObject(r);
    	cout << "Succeed to execute command : " << command4 << endl;
    
    	redisFree(c);
    }
    
    int main()
    {
    	WSADATA wsaData;
    	int nRet;
    	if ((nRet = WSAStartup(MAKEWORD(2, 2), &wsaData)) != 0)
    	{
    		cout << "WSAStartup failed" << endl;
    		exit(0);
    	}
    
    	doTest();
    
    	system("pause");
    	return 0;
    }
    

             redis的连接编译比较坑,mmp, 我试了几次,才解决一些编译错误,还有之前一些博客的错误引导,坑的一笔。代码贴完后,需要对VS属性做一些修改,如下:

     1.

                                  

    2

                                  

               如果还有其它错误,请自行查询修改

                                        

     

                     代码如果没有错误,运行 结果如下:

                                               

                   

    展开全文
  • 一、基础环境信息 ... 执行如下命令,获取Redis源码。 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 执行如下命令,解压包。 tar -zxvf redis-4.0.9.tar.gz 执行如...

    一、基础环境信息

    OS: Euler OS 2.8

    CPU: ARM

    二、编译和安装Redis步骤如下

    • 执行如下命令,获取Redis源码。

          wget http://download.redis.io/releases/redis-4.0.9.tar.gz

    • 执行如下命令,解压包。

          tar -zxvf redis-4.0.9.tar.gz

    • 执行如下命令,进入deps目录。

          cd redis-4.0.9/deps

    • 执行如下命令,编译Redis依赖库。

           make -j4 hiredis lua jemalloc linenoise

    • 依次执行如下命令,编译Redis。

          cd ..

          make -j4

          make install

    三、配置和运行Redis

    • 执行如下命令,建立redis配置文件。

           cp redis.conf /usr/local/etc/

    • 执行如下命令,配置redis为后台启动,将daemonize no 改成daemonize yes。

          vim /usr/local/etc/redis.conf

    • 执行如下命令,启动redis-server。

          service redis start

          系统会显示如下类似信息,表示Redis启动完成。

         Starting Redis server... 

        20525:C 19 Jun 20:43:25.941 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 

        20525:C 19 Jun 20:43:25.941 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=20525, just started 

        20525:C 19 Jun 20:43:25.941 # Configuration loaded

    四、测试Redis

    执行如下命令,使用redis-cli连接server,并执行k-v请求。

          [root@ecs-1-0002 redis-4.0.9]# redis-cli 

          127.0.0.1:6379> set test arm 

          OK 

         127.0.0.1:6379> get test

         "arm" 

         127.0.0.1:6379> del test

         (integer) 1 

         127.0.0.1:6379> get test

         (nil)

    五、总结

    可以看出,在ARM上编译和运行过程Redis并无太大差异,只需要简单几步就可以安装好。

    展开全文
  • 下载源码包 http://download.redis.io/releases/redis-4.0.9.tar.gz 解压 # tar -zxvf redis-4.0.9.tar.gz 编译安装 # cd redis-4.0.9 指定安装路径编译安装 # make PREFIX=/usr/local/redis ...

    操作系统:Centos

    下载源码包

    http://download.redis.io/releases/redis-4.0.9.tar.gz

    解压

    # tar -zxvf redis-4.0.9.tar.gz

    编译安装

    # cd redis-4.0.9

    指定安装路径编译安装

    # make PREFIX=/usr/local/redis install

    更改配置使其后台启动

    # cp redis.conf /usr/local/redis/
    # cd /usr/local/redis/

    修改redis.conf

    # vi redis.conf

    将daemonize 改为yes

        134 # By default Redis does not run as a daemon. Use 'yes' if you need it.
        135 # Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
        136 daemonize yes

    指定端口运行

    # bin/redis-server redis.conf --port 6379

    下图即为指定端口后台运行redis


    转载于:https://www.cnblogs.com/d-homme/p/9357012.html

    展开全文
  • clion编译redis5

    2020-08-08 17:18:54
    关于如何配置clion源码阅读的环境的说明

    环境

    liinux mint 20
    gcc 9.3

    cmake配置

    https://www.jianshu.com/p/904b44911ab9

    这个配置有遗漏了依赖库dl
    https://www.cnblogs.com/grey-wolf/p/12637730.html
    在这里插入图片描述
    由于本人使用的是linux mint,不支持kqueue(简书的分享作者使用的是mac,系统支持queue).这里要改成
    src/ae_select.c或者src/ae_epoll.h。

    完整的配置

    https://github.com/panxl6/redis5-internals

    展开全文
  • Windows下编译Redis3.2.100

    2019-09-30 09:36:29
    很多博客对redis源码编译都说的很笼统,按照他们的方法基本都编译失败了,redis的windows版目前最新版本是3.2,linux版最新是5.0,windows系统用C++连接redis不太方便,如果是Java,用maven下载jedis jar包,配置...
  • MAC 下编译 RedisDesktopManager 最新版

    千次阅读 2019-09-29 09:16:50
    RedisDesktopManager是一款优秀的跨平台redis图形化管理软件,支持windows,macos,linux等,但是官方为了开源软件的良性发展,不再免费提供编译好的安装包,但是源码依然开源,可以下载官网源码自己进行编译,拉...
  • Linux如何安装redis

    2015-05-25 21:39:05
    1、下载源码,解压缩后编译源码。.$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz $ tar xzf redis-2.8.3.tar.gz $ cd redis-2.8.3 $ make2、 编译完成后,在安装目录下,有四个可执行文件redis-...
  • 根据Redis官网的说明,Redis 4系列及其以上的版本支持ARM...下面以Redis 5.0.10版本为例,说明Redis在ARM上如何编译,本人使用的是交叉编译环境。 1.在Redis官网下载Redis源码包,如5.0.10版本源码包的路径为: http
  • Linux下如何安装Redis

    2021-01-24 18:40:29
    Linux下安装Redis ...Redis是C语言开发的,安装redis需要先去官网下载源码进行编译编译需要依赖于GCC编译环境,如果CentOS上 没有安装gcc编译环境,需要提前安装,安装命令如下:(这里我们使用root用
  • 1安装 redis 需要 c 语言的编译环境。如果没有 gcc 需要在线安装。方式:yum install gcc-c++ 2.第一步:redis源码包上传到 linux 系统。放到 /opt下 3.第二步:解压缩 redis。 方式:tar –zxvf redis-3.0.0....
  • docker-webserver:源码编译docker容器服务,源码编译lnmp,lanmp,php,apache,nginx,mysql,redis,memcached,kafka等各种服务 实现不进入docker容器可在宿主机执行容器的脚本 如何保持公司电脑与自己电脑环境配置高度...
  • 如何安装配置Redis

    2016-07-02 00:05:31
    工欲善其事,必先利其器,在学习redishttp://www.maiziedu.com/course/337/的过程中,我们首先需要学习的就是redis的安装与配置,今天和大家...一、源码安装 1> 解压、编译并安装 redis官网下载地址:http://re
  • 资源详细说明了如何使用REDIS源码编译REDIS库,并附带示例程序说明如何在WINDOWS下用VS C++的工程中调用生成的REDIS库与REDIS服务器端进行通信, 按照文档一步步做即可
  • 一、最近用阿里云安装redis,具体安装如下: 官方下载redis ,官网地址是...如何安装 下载,解压,编译: $ wget http://download.redis.io/releases/redis-6.0.6.tar.gz $ tar xzf redis-6.0.6.tar.gz $ cd redis.
  • 一:前言前几天写了如何调试Redis:《快速编译调试 Redis》,对于阅读源码来说,调试是基本功,所以如果想快速上手调试的话,建议先看看上面这篇文章。今天要说的是 Redis 的请求监听,通俗点说,就是Redis如何...
  • 一:前言前几天写了如何调试Redis:《快速编译调试 Redis》,对于阅读源码来说,调试是基本功,所以如果想快速上手调试的话,建议先看看上面这篇文章。今天要说的是 Redis 的请求监听,通俗点说,就是Redis如何...
  • 3.编译redis源码(cd redis-4.0.6) make 4 安装redis make install PREFIX=/usr/local/redis3 //安装路径 5 进入到redis3 cd /usr/local/redis3 6 进入redis3中的bin目录 里面的redis-server是启动re
  • 本文简单讲解了如何在Windows的PHP环境下引入Redis 1. 安装Redis服务 1.1 下载Redis源码 现在最新的Redis官网只提供源码的下载,并且是在Linux系统下编译的版本。...1.2 编译Redis源码 要在Win...
  • 下载Redis源码包 cd /optwget http://download.redis.io/releases/redis-4.0.10.tar.gz 解压redis-4.0.1.tar.gz安装包 tar -xzvf redis-4.0.10.tar.gz 重命名 mv redis-4.0.10 redis ...
  • 解决办法一:yum添加epel源 ...解决办法二:源码编译安装redis. 1、下载源码,解压缩后编译源码。 $ tar xzf redis-2.8.3.tar.gz $ cd redis-2.8.3 $ make $ make install 2、编译完成后,在Src目录下,有四...
  • Redis如何使用Lua脚本

    2020-05-03 00:59:10
    主版本源码: 基于Gradle构建https://github.com/apereo/cas ...主版本是用gradle编译的,有很多源码很多模块,我们需要在这个源码上进行修改配置,这就非常混乱了. 其官方提供了一个无侵入式的一套来设计cas...
  • CentOS下Redis安装配置

    2020-04-15 07:28:13
    上篇文档说到用redis obicet cache缓存wordpress,博客里没有如何安装配置redis的文档,写一篇吧。博客使用redis单节点运行,不涉及主从或...3,进入redis源码目录,编译。makemake test #测试,步骤可省略make PR...
  • 安装redis需要先将官网下载的源码进行编译编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ 第二步:源码下载 官网下载地址:http://download.redis.io/releases/redis-5.0.3.tar.gz 将...
  • 这里我将介绍Redis在CentOS 7下如何安装配置方法/步骤Redis源码获取1.1、进入Redis官网获取Redis最新稳定版下载地址2、通过wget命令下载 Redis 源代码。**Redis编译1、通过tar -xvf redis-3.0.2.tar.gz命令解压下载...
  • 如何在Ubuntu18.04上安装redis

    千次阅读 2018-11-15 00:41:04
    这里采用源码编译的方式来进行安装,主要内容包括源码编译、修改配置文件和添加自启动。 安装编译程序 $ sudo apt update $ sudo apt dist-upgrade $ sudo apt install build-essential make $ sudo apt install ...
  • 前言在上一篇博客《 CentOS6下编译、安装Redis源码》中,我介绍了如何在CentOS下编译最新的稳定版本的Redis源码,并成功启动了一个Redis单实例。本文的目标是要部署Master-Slave架构,为了方便观察,本文将部署一个...
  • redis的安全安装

    2019-08-17 13:01:29
    本文旨在阐明如何在centos 7的系统下,安全安装redis服务。 1,禁止redis开放到外网 ... 3,以非root用户启动 ...前面步骤按照常规,先下载redis源码包,解压,编译和安装 cd /usr/local/src && wget htt...

空空如也

空空如也

1 2 3 4 5
收藏数 84
精华内容 33
关键字:

如何编译redis源码

redis 订阅