在 windows 上部署使用 Redis

2014-07-03 · 695 chars · 4 min read

这两天在重新做公司内网首页,信息都是从别的系统获取的,产品原来打算直接上静态页,jsonp 异步取数据。但是一来 jsonp 比较坑(一直不喜欢),二来整个页面的数据都异步获取的话,刚刚打开页面的时候会空白一片,体验极其差。所以决定用 node.js + express + redis 简单搞下。今天早晨一直在折腾 Redis,看了挺多文章,可能是版本或者其他的原因,我遇到的问题他们都没有提,不过终于还是部署上了,下面把过程写下给大家参考。

下载 Redis#

在 Redis 的官网下载页上有各种各样的版本,我这次是在 windows 上部署的,要去GitHub上下载。目前的是2.8.12版的,直接解压,在\bin\release 目录下有个压缩包,这就是我们需要的:

启动 Redis#

直接在上图的目录打开命令窗口,运行:

redis-server redis.windows.conf

结果就悲剧了,提示:QForkMasterInit: system error caught. error code=0x000005af, message=VirtualAllocEx failed.: unknown error 。原因是内存分配的问题(如果你的电脑够强悍,可能不会出问题)。解决方法有两个,第一:启动的时候使用--maxmemory 命令限制 Redis 的内存:

redis-server redis.windows.conf --maxmemory 200m

第二种方法就是修改配置文件redis.windows.conf :

maxmemory 209715200

注意单位是字节,改完后如下:

之后再运行redis-server redis.windows.conf 就可以启动了:

但是问题又来了,关闭 cmd 窗口就会关闭 Redis,难道服务器上要一直开着吗?这显然是不科学的,下面看怎么在服务器上部署。

部署 Redis#

其实 Redis 是可以安装成 windows 服务的,开机自启动,命令如下:

redis-server --service-install redis.windows.conf

安装完之后,就可看到 Redis 已经作为 windows 服务了:

但是安装好之后,Redis 并没有启动,启动命令如下:

redis-server --service-start

停止命令:

redis-server --service-stop

还可以安装多个实例

redis-server --service-install –service-name redisService1 –port 10001
redis-server --service-start –service-name redisService1
redis-server --service-install –service-name redisService2 –port 10002
redis-server --service-start –service-name redisService2
redis-server --service-install –service-name redisService3 –port 10003
redis-server --service-start –service-name redisService3

卸载命令:

redis-server --service-uninstall

最后提示一下:2.8 版本的不支持 32 位系统,32 位系统要去下载2.6 版本的。2.6 版本的无法像上面一样方便的部署,它提供一个叫RedisWatcher的程序来运行 redis server,Redis 停止后会自动重启。

另外推荐一个 Redis 可视化管理工具:Redis Desktop Manager,官网的下载地址被墙了,可以在我的网盘下载 v0.7.6 版,放个截图:

赞赏

微信