前段时间公司做秒杀拼团活动,由于疏忽大意忘记加索引,数据库服务器CPU飙升到100%。虽事后迅速解决,但是任然觉得数据库负载大数据量搜索的危险性实在是太高。查阅一番资料决定使用Redis+分词自己搞一个搜索系统。虽然之前对Redis也有过接触,但都局限于代码中调用,这次将安装部署的全过程记录于此,供大家参考。如有错误请大牛不吝赐教,及时斧正。
Redis安装及部署
-
下载Redis,Github 下载地址:https://github.com/MicrosoftArchive/redis/tags 。截止我安装时间为止最新版本为 3.2.100 。
进入3.2.100会有如下图四个下载项。.mis文件为图形界面安装文件,.zip文件解压后需要使用命令行安装,剩下两个为源代码,一般我们也用不到 -
安装Redis,这里我选择使用 .msi文件进行安装, 双击.msi文件,点击下一步。
-
勾选用户协议,点击下一步
-
选择安装路径(要自己找得到,建议自己新建一个文件夹),勾选下面的选项,将Reids文件路径添加到环境变量,这一步非常重要。 点击下一步继续。
-
Redis 默认端口为 6379 建议不要改,防火墙例外也默认为勾选状态也不用改,点击下一步继续
-
设置最大内存使用数量,如果你是只是作为缓存使用的话可以自己设置一个合适的值,超过的默认会按照过期时间顺序清理,我是作为测试内存数据库使用,所以暂时就不设置了,实际真实环境中建议以机器内存3/4设置。点击下一步继续。
-
点击安装,等待安装完成点击 finish 完成安装
这时候打开服务就能看到 Redis 已经作为服务跑起来了。 -
设置密码(不设置密码则可以忽略这一步)打开安装目录找到 redis.windows-service.conf 配置文件,打开找到 # requirepass foobared 。默认是注释状态,将 # 号去掉改为 requirepass 123456 。123456为自己设置的访问密码。保存成功后需要去服务列表里重启一下 Redis 才能生效。
-
测试,找到安装目录下 redis-cli.exe 文件双击打开。
如果设置了密码,未通过身份验证之前输入任何命令都会提示 NOAUTH Authentication required 。输入命令
Auth 123456,,123456为之前设置的密码。身份验证成功提示 OK 。此时再输入 set key value 就可以看到提示成功。再 get key 就能看到我们缓存的 value 。至此安装部署部分已经完成。
远程访问 Desktop 连接访问
- 下载 Desktop。链接 https://redisdesktop.com/pricing 。官网目前是收费的,github 上有源码待编译版本,可自行下载编译即可使用。编译步骤稍微有些繁杂,如何编译一个 Desktop 我会在后面单独写一篇文章做演示,此处测试就下载 14 天试用版做演示。
- 下载完成双击安装,傻瓜式操作,下一步下一步就可以了。
安装完成自动运行 RDM 会看到如下界面
- Redis 远程配置 。找到 Redis 安装文件目录,打开配置文件 redis.windows-service.conf 。搜索 bind 127.0.0.1 改为 bind 0.0.0.0 ,表示允许所有的IP地址访问。默认为允许本地访问,如果想要指定某一台服务器访问,将 0.0.0.0 替换为指定服务器IP即可。
再次在当前文档里搜索 protected-mode yes 改为 protected-mode no 关闭保护模式。再在服务列表里重启 Redis 服务才能生效。
- 设置端口入站规则。我的 Redis 是部署在阿里云ECS服务上的,所以这里以阿里云ECS服务器配置作介绍。如果是自架服务器,可以在控制面板防火墙里面设置出入站规则。打开 ECS 服务器列表找到部署 Redis 的服务器,点击右侧的管理按钮进入管理页面(如下图)。
选择左侧本实例安全组,再点击右侧配置规则,进入配置页面
选择入方向,点击右侧添加安全组规则按钮
协议类型选择 Redis(6379) ,端口范围会自动填充。授权对象 写入 0.0.0.0/0 表示接受所有IP地址访问,点击确定完成设置。
- 打开客户端安装的 Redis Desktop Manager ,点击左上角 “连接到 Redis 服务器” 按钮,弹出如下图设置框。名字可以随意取,根据具体业务取相关的名字做标识,地址为 Redis 安装的服务器地址,验证为部署 Redis 时设置的访问密码。点击测试连接会提示连接成功。
点击确定后就可以看到我们安装成功时设置的两个 key 了。
至此 Redis 的简单安装部署及远程访问已经完成。