搭建windows环境下redis

PC好久没用Linux系统了,远程登录又太麻烦了,没网络更不好操作,于是很多时候就直接windows下搭建个环境,反正用法都一样;最先想在Cygwin下编译redis源代码,可是比较坑的是又是cygwin最头痛的问题,库导致的

cc: 错误:../deps/hiredis/libhiredis.a:No such file or directory
cc: 错误:../deps/lua/src/liblua.a:No such file or directory
cc: 错误:unrecognized command line option ‘-rdynamic’
cc: 错误:unrecognized command line option ‘-pthread’

这次就不折腾了,lua以及开发包也全部重新cygwin源里安装了,还是报错,还是直接找是否有windows下绿色版,毕竟redis也就一个server和一个cli,再几个辅助的东西

以前redis只支持linux,windows只有googlecode里才有,如今也已经提交到githup上了

https://github.com/ServiceStack/redis-windows

可以看到文档中间Current Version: 2.8.17部分,解释是只要解压了就能直接运行,应该是绿色版,说做就做

lihui@2015 /cygdrive/e
$ cd e:

lihui@2015 /cygdrive/e
$ mkdir redis

lihui@2015 /cygdrive/e
$ cd redis/

lihui@2015 /cygdrive/e/redis
$ wget https://raw.github.com/ServiceStack/redis-windows/master/downloads/redis64-latest.zip

lihui@2015 /cygdrive/e/redis
$ cd redis64-latest/

lihui@2015 /cygdrive/e/redis/redis64-latest
$ ls -l
总用量 2916
-rwxrwxr-x+ 1 lihui None   29147 十一 30 10:06 redis.windows.conf
-rwxrwxr-x+ 1 lihui None  444888 十一 30 10:06 redis-benchmark.exe
-rwxrwxr-x+ 1 lihui None  302552 十一 30 10:06 redis-check-aof.exe
-rwxrwxr-x+ 1 lihui None  314328 十一 30 10:06 redis-check-dump.exe
-rwxrwxr-x+ 1 lihui None  487896 十一 30 10:06 redis-cli.exe
-rwxrwxr-x+ 1 lihui None 1393624 十一 30 10:06 redis-server.exe

当然直接通过浏览器下载也行,先试试能否使用

lihui@2015 /cygdrive/e/redis/redis64-latest
$ ./redis-server.exe ./redis.windows.conf
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 2.8.17 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in stand alone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 5140


lihui@2015 /cygdrive/e/redis/redis64-latest
$ ./redis-cli.exe
光标

redis的启动是没有问题的,但是奇怪的是cli命令行居然阻塞挂在这里了,先验证redis数据库是否存在问题,必须要操作试试,所以就不通过cygwin来启动cli,直接通过windows下的cmd来运行试试

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\lihui>e:

E:\>cd redis

E:\redis>cd redis64-latest

E:\redis\redis64-latest>redis-cli.exe
127.0.0.1:6379> set lihui 30
OK
127.0.0.1:6379> keys *
1) "lihui"
127.0.0.1:6379> get lihui
"30"
127.0.0.1:6379>

呵,这就神了,居然没问题,也就是说通过cygwin里启动cli的问题,cmd也没用管理员权限打开,试着cygwin里写一个python脚本,数据库插入数据看能操作不

首先还是要安装python的redis模块

wget https://pypi.python.org/packages/source/r/redis/redis-2.10.3.tar.gz
tar zxvf redis-2.10.3.tar.gz
cd redis-2.10.3
python setup.py install

cygwin安装这个模块还是很顺利,没有报错,下面通过python脚本操作数据库

lihui@2015 ~
$ cat hi.py
#!/usr/bin/env python

import redis
r = redis.StrictRedis(host = '127.0.0.1', port = 6379, db = 0)
r.set('lilei', '31')

lihui@2015 ~
$ python hi.py

下面再通过cmd查看下结果

E:\redis\redis64-latest>redis-cli.exe
127.0.0.1:6379> keys *
1) "lihui"
2) "lilei"
127.0.0.1:6379>

的确已经插入数据成功了

 

至于说为什么cygwin里无法打开server-cli,暂时没找到原因,但是更重要的redis的启动,已经连接,操作数据库都已经不是问题了

发表回复