.net core工具组件系列之Redis—— 第一篇:Windows环境配置Redis(5.x以上版本)以及部署为Windows服务
Cygwin工具编译Redis
Redis6.x版本是未编译版本(官方很调皮,所以没办法,咱只好帮他们编译一下了),所以咱们先下载一个Cygwin,用它来对Redis进行编译。
Cygwin下载地址:
https://cygwin.com/setup-x86_64.exe
下面是安装Cywin的一些注意事项说明:
1、前面可以自己默认或者自由选择,到达下图所示内容以后,添加阿里云镜像。不然可能会下载失败。

阿里云镜像地址:
http://mirrors.aliyun.com/cygwin/
2、到达下面页面时候,需要搜索并添加以下五个命令工具,因为下载的6.x版本的redis是未编译的代码,所以需要用这些工具提供的一些命令来编译Redis使用。命令工具包括:
make
gcc-core
gcc-g++
libgcc1
libgccpp1
添加方法如图所示:





添加完成以后,在下一步的预览页面,就可以看见我们添加的工具都包含在里面了:

然后会开始下载,如下图所示。

安装完成以后,运行Cygin,会在安装目录下的home文件夹下,生成一个当前用户名的文件夹:

现在,去到Redis官网下载Redis压缩包。当前我使用的最新的稳定版本是6.2.5(当前日期是2021-07-25)。下载地址是:
下载以后,把它丢到刚刚的Home目录下的用户名文件夹下:

在gywin界面上面查看,可以看见就这么个文件。

先解压。命令: tar -zxvf 你的redis文件夹压缩包:

解压以后,有兴趣的还可以进去解压文件夹下面瞅瞅,例如src下面,可以看见这家伙几乎一堆.h和.c的文件,说明这家伙太调皮了,写完代码都不编译,坏得很。.h和.c文件,是C语言的头部文件,以及C语言的代码文件,有兴趣的小伙伴也可以看源码学习学习,也许有什么新发现。

返回上级目录 xxx/redis-xxx,并且使用make命令。Duang,开始编译……

似乎预感到不对……时间一秒一秒过去,终于熬到了最后,what the fuck~~报错了:

算了,作为一个成年人,一条路走不通,咱走第二条路,换个Redis版本。可能是版本太新了,假装是它自己的问题,咱下个低一点的版本吧。这次换成了6.0.15:

以上的操作重新走一个,解压,cd到解压的目录下,以及make三连击:

Make~ 开始进入漫长的编译等待中……

直到最后,编译完成~~想必是我的真诚感动了这个版本的Redis,所以终于编译成功了:

在SRC目录下,会生成很多文件,咱们把生成的文件(除去.o文件、.d文件以及原本存在的.c和.h文件外,其他的都拷贝走),复制一份到自定义的某个地方,例如 C:/Redis :

把Cygwin/bin下面的 cygwin1.dll也拷贝到上面的文件夹下:

将Redis解压后的redis.conf配置文件,也拷贝过去。于是最终的文件包括以下这些:

启动Redis并测试
使用管理员权限打开CMD命令窗口,进入到redis下,直接运行 redis-server.exe

以上,代表redis运行成功了。现在做个简单测试,保持该窗口打开状态,继续打开一个新的cmd窗口,输入命令 redis-cli.exe -h 127.0.0.1 -p 6379
然后通过 set 和 get命令,检测结果。

现在打开Redis管理工具,看看是否可以连接上Redis:

由于没有设置密码,所以可以直接测试通过,并且可以看见上面咱们用命令设置的一个name的值:

修改redis密码
在redis.conf配置文件夹下,找到requirepass,去掉注释,并且设置自己的密码,例如我这边设置的密码是 wesky.123

默认情况下,redis配置文件里面只设置了本地访问权限,把 bind 127.0.0.1前面加个注释,即可实现远程访问。或者把127.0.0.1改为 0.0.0.0也是OK的。或者设置为多个ip,这样安全性高一点。我喜欢偷懒,就直接注释掉吧:

设置允许启用守护进程(后台运行的意思)。将daemonize设置为yes

将Redis配置为windows服务
添加上面redis的文件夹路径到环境变量的path里面:

先退出上面的redis。同时,退出以后,redis客户端就无法连接上了。所以为了将来不需要每次都手动启动redis,我们接下来把redis添加到Windows服务上。

以上版本经过一番折腾,目前无法部署到Windows服务上,所以顺手再降低了版本,用了5.0.10版本。放弃治疗了……如果其他大佬继续后续操作没有异常,那就是我姿势不对,欢迎指导。

使用管理员权限打开paoweshell(或者管理员权限打开cmd也是OK的),在redis目录下使用命令:
redis-server.exe --service-install redis.windows.conf(以自己具体的配置文件名称为准)

提示成功,转到Windows服务上面,进行启动redis服务:

Redis 6.x 看来暂时跟我无缘了,只能5.x暂时续一下命了。悲痛欲绝~~也可能姿势不对,欢迎大佬们提供建议。
现在验证下是不是可以用了。在客户端上面加一个key-value

在后端通过get命令获取:

尴尬,雷猴啊被解析成其他格式的了。
换个姿势验证下,设置一个新的key和value,并查看:

以上,bingo~~
欢迎各位大佬观看,如果有需要白嫖我上面已经弄好的redis 5.x 版本,可以加Q群获取。
.net core工具组件系列之Redis—— 第一篇:Windows环境配置Redis(5.x以上版本)以及部署为Windows服务的更多相关文章
- IOS百度地图之--->第一篇《环境配置与基本使用》
Ios 百度地图SDK简易使用说明:http://developer.baidu.com/map/index.php?title=iossdk 先道歉:对于原来上传的Demo我很抱歉,什么都没有,也没 ...
- 【HANA系列】【第一篇】SAP HANA XS使用JavaScript数据交互详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第一篇]SAP HANA XS ...
- .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统
.NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...
- Redis:在windows环境安装Redis
Redis:在windows环境安装Redis 第一步: 下载windows版本的Redis:https://github.com/MSOpenTech/Redis. 第二步: 在命令行执行:D:\r ...
- ASP.NET Core Windows 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core Windows 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Windows 环境配置 ASP.NET Core ...
- 在windows下面配置redis集群遇到的一些坑
最近工作不忙,就决定学习一下redis.因为一直在windows下工作,不会linux,没办法就选择在windows下配置redis. windows下配置redis集群的文章有很多,比如:http: ...
- Centos7 Openstack - (第一节)基本环境配置
Centos7 install Openstack - (第一节)基本环境配置 我的blog地址:http://www.cnblogs.com/caoguo 根据openstack官方文档配置 官方文 ...
- Redis学习——Windows环境下Redis的安装(二)
一.说明 之前介绍了Linux环境下Redis的安装,这次介绍一下Windows环境下Redis的安装,首先要讲的是,Redis官方只支持Linux,还好 Microsoft Open Tech gr ...
- Windows 环境搭建Redis集群(win 64位)
转: http://blog.csdn.net/zsg88/article/details/73715947 参考:https://www.cnblogs.com/tommy-huang/p/6240 ...
随机推荐
- python_selenium 之yaml文件读取(以读取元素信息为例)
一.yaml源文件编写 二.对yaml文件内容的读取 #coding=gbkimport osimport yamlcurrent_path=os.path.dirname(__file__)yaml ...
- mongodb的ObjectId最后三个字节有趣的地方
ObjectId 由12个字节组成,其中组成如下: a 4-byte timestamp value, representing the ObjectId's creation, measured i ...
- 看懂redis配置文件
看懂redis 配置文件: https://blog.csdn.net/liqingtx/article/details/60330555 redis 数据库缓存双写一致性解决方案: https:// ...
- 菜鸟刷题路:剑指 Offer 09. 用两个栈实现队列
剑指 Offer 09. 用两个栈实现队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的 ...
- pytest 给用例打标签
1.给用例添加自定义标签命令:@pytest.mark.tagname #tagname是自定义的标签名 import pytest class TestClass(): @pytest.ma ...
- ThreadPoolExecutor参数详解
ThreadPoolExecutor全部参数的构造函数 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long ke ...
- spring boot @Async异步注解上下文透传
上一篇文章说到,之前使用了@Async注解,子线程无法获取到上下文信息,导致流量无法打到灰度,然后改成 线程池的方式,每次调用异步调用的时候都手动透传 上下文(硬编码)解决了问题. 后面查阅了资料,找 ...
- Spring Cloud 整合 Feign 的原理
前言 在 上篇 介绍了 Feign 的核心实现原理,在文末也提到了会再介绍其和 Spring Cloud 的整合原理,Spring 具有很强的扩展性,会把一些常用的解决方案通过 starter 的方式 ...
- 对volatile的理解--从JMM以及单例模式剖析
请谈谈你对volatile的理解 1.volitale是Java虚拟机提供的一种轻量级的同步机制 三大特性1.1保证可见性 1.2不保证原子性 1.3禁止指令重排 首先保证可见性 1.1 可见性 概念 ...
- 用 .SqlSugar ORM 来实现报表功能 .NET CORE /.NET
架框介绍 SqlSugar是一款.NET老牌ORM 并且也是 新手基数比较多的ORM(因为上手容易),SqlSugar之所以能一直更新到现在,还是要感谢SqlSugar的忠实用户,随着我的技术越来越好 ...