下载Redis
去官网找了很久,发现原来在官网上可以下载的windows版本的,现在官网已经没有下载地址,只能在github上下载,官网只提供linux版本的下载。
官网下载地址:http://redis.io/download
Github下载地址:https://github.com/MSOpenTech/redis/tags
下载地址:https://github.com/MSOpenTech/redis/releases
安装Redis
1、这里下载的是Redis-x64-3.2.100版本,我的电脑是win7 64位,所以下载64位版本的,在运行中输入cmd,然后把目录指向解压的Redis目录。
2、启动命令
redis-server redis.windows.conf
出现下图显示表示启动成功了。后面的redis.windows.conf可以省略,如果省略,会启用默认的。
3、如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了。
设置Redis服务
1、由于上面虽然启动了redis,但是只要一关闭cmd窗口,redis就会消失。所以要把redis设置成windows下的服务。
也就是设置到这里,首先发现是没用这个Redis服务的。
2、设置服务命令
redis-server --service-install redis.windows-service.conf --loglevel verbose
输入命令之后没有报错,表示成功了,刷新服务,会看到多了一个redis服务。
3、常用的redis服务命令。
卸载服务:
redis-server --service-uninstall
开启服务:
redis-server --service-start
停止服务:
redis-server --service-stop
4、启动服务
redis-server --service-start
5、测试Redis
D:\DevTools\Redis-x64-3.2.100>redis-cli.exe -h 127.0.0.1 -p 6379
127.0.0.1:6379> set userinfo xiao
OK
127.0.0.1:6379> get userinfo
"xiao"
127.0.0.1:6379>
启动redis报错解决方案
creating server tcp listening socket 127.0.0.1:6379: bind No error
按以下顺序输入命令:
1. Redis-cli.exe
2. shutdown
3. exit
4. redis-server.exe redis.windows.conf
启动命令:
redis-server redis.windows.conf
常用命令
1、查看redis版本
redis-server --version
Redis server v=3.2.100 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=dd26f1f93c5130ee
redis-server -v
Redis server v=3.2.100 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=dd26f1f93c5130ee
redis-cli --version
redis-cli 3.2.100
redis-cli -v
redis-cli 3.2.100
严格上说:通过 redis-cli 得到的结果应该是redis-cli 的版本,但是 redis-cli 和redis-server 一般都是从同一套源码编译出的。所以应该是一样的。
下载Redis
redis-3.2.11.tar.gz
解压编译
tar xzf redis-3.2.11.tar.gz
cd redis-3.2.11
make
编译完成之后,可以看到解压文件redis-3.0.7 中会有对应的src、conf等文件夹,这和windows下安装解压的文件一样,大部分安装包都会有对应的类文件、配置文件和一些命令文件。
安装
进入src文件夹,执行make install进行Redis安装
为了管理方便,将redis文件中的conf配置文件和常用命令复制到统一文件夹中(可省略)
1)创建bin和redis.conf文件夹
[root@iZwz95a6wosz6klzf7o6hcZ src]# mkdir -p /usr/local/redis/bin
[root@iZwz95a6wosz6klzf7o6hcZ src]# mkdir -p /usr/local/redis/etc
2)复制文件
[root@iZwz95a6wosz6klzf7o6hcZ redis-3.2.11]# cp redis.conf /usr/local/redis/etc
[root@iZwz95a6wosz6klzf7o6hcZ src]# cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin
启动redis服务
cd /usr/local/redis/bin
redis-server /usr/local/redis/etc/redis.conf
或直接在redis-3.2.11/src/目录下执行:
[root@iZwz95a6wosz6klzf7o6hcZ src]# ./redis-server /devtools/redis-3.2.11/redis.conf
或者:
[root@iZwz95a6wosz6klzf7o6hcZ src]# redis-server ../redis.conf
32011:C 21 Dec 20:25:48.069 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
注意:这里直接执行Redis-server 启动的Redis服务,是在前台直接运行的(效果如上图),也就是说,执行完该命令后,如果Lunix关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且指定启动配置文件。
用客户端测试下是否启动成功
新启一个shell窗口
[root@iZwz95a6wosz6klzf7o6hcZ src]# pwd
/devtools/redis-3.2.11/src
[root@iZwz95a6wosz6klzf7o6hcZ src]# ./redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379>
设置后台启动redis服务
a)首先编辑conf文件,将daemonize属性改为yes(表明启用守护进程,需要在后台运行)
cd /usr/local/redis/etc
vim redis.conf
b)再次启动redis服务,并指定启动服务配置文件
[root@iZwz95a6wosz6klzf7o6hcZ etc]# vim redis.conf
[root@iZwz95a6wosz6klzf7o6hcZ bin]# redis-server /usr/local/redis/etc/redis.conf
服务端启动成功后,执行redis-cli启动Redis 客户端,查看端口号
[root@iZwz95a6wosz6klzf7o6hcZ redis-3.2.11]# cd /usr/local/redis/bin
[root@iZwz95a6wosz6klzf7o6hcZ bin]# redis-cli
127.0.0.1:6379>
127.0.0.1:6379> exit
[root@iZwz95a6wosz6klzf7o6hcZ bin]# netstat -tunpl|grep 6379
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 32501/redis-server
[root@iZwz95a6wosz6klzf7o6hcZ bin]# redis-cli shutdown
[root@iZwz95a6wosz6klzf7o6hcZ bin]# netstat -tunpl|grep 6379
[root@iZwz95a6wosz6klzf7o6hcZ bin]# ps -ef|grep redis
root 32524 32124 0 21:47 pts/4 00:00:00 grep --color=auto redis
[root@iZwz95a6wosz6klzf7o6hcZ bin]# redis默认只允许本地访问,要使redis可以远程访问可以修改redis.conf
[root@iZwz95a6wosz6klzf7o6hcZ redis-3.2.11]# cd /usr/local/redis/etc
[root@iZwz95a6wosz6klzf7o6hcZ etc]# vim redis.conf
注释掉bind
#bind 127.0.0.1
禁用保护模式
protected-mode no
连接远程redis测试
redis安全 (error) NOAUTH Authentication required Redis 安全 我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。 实例 我们可以通过以下命令查看是否设置了密码验证: 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "" 默认情况下 requirepass 参数是空的,这就意味着你无需通过密码验证就可以连接到 redis 服务。 你可以通过以下命令来修改该参数: 127.0.0.1:6379> CONFIG set requirepass "123456" OK 127.0.0.1:6379> CONFIG get requirepass 1) "requirepass" 2) "runoob" 设置密码后,客户端连接 redis 服务就需要密码验证,否则无法执行命令。 语法 AUTH 命令基本语法格式如下: 127.0.0.1:6379> AUTH password 实例 127.0.0.1:6379> AUTH "runoob" OK 127.0.0.1:6379> SET mykey "Test value" OK 127.0.0.1:6379> GET mykey "Test value" ------------------------------------------- 127.0.0.1:6379> get name (error) NOAUTH Authentication required. 127.0.0.1:6379> auth '123456' OK 127.0.0.1:6379> get name "wangxiangyu" 127.0.0.1:6379>