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的启动,已经连接,操作数据库都已经不是问题了