整理来源于网上:https://www.cnblogs.com/wxjnew/p/9160855.html ;https://www.cnblogs.com/fanshuyao/p/7193299.html ;https://www.cnblogs.com/alasijia/p/9408824.html;https://www.cnblogs.com/zfding/p/7966450.html
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。
官网:https://redis.io/download,网传Redis是不支持windows的,但是,Microsoft开放技术小组 使这一切有了可能 ; window版下载地址:https://github.com/MicrosoftArchive/redis/releases
二、安装和配置Redis
下载Redis For window X64.zip,加压到指定目录,如下图所示我解压到了D盘
打开cmd命令窗口,安装和注册redis到window服务,注意安装和启动服务这两个操作需要在解压Redis的根目录执行,这里才有Redis环境
安装命令:redis-server.exe --service-install redis.windows.conf --loglevel verbose
启动服务命令:redis-server.exe --service-start
关闭服务命令:redis-server.exe --service-stop
安装和注册服务,启动服务启动后我们都可以看到 successfully的字样,说明我们配置成功了,下面我们去window-service查看本地服务,如下图,Redis已存在和启动
三、客户端使用Redis
我们重新打开一个cmd ,作为一个客户端调用redis服务,如下图所示,调用命令是:redis-cli.exe -h 127.0.0.1 -p 6379,如下图显示地址和端口,说明调用成功
然后我们使用set 和get 命令进行测试一下,set uname "abc",然后使用get uname可以获取到对应set的值,说明调用成功
四、Redis注意和其他
需要注意的是:所有命令需要在window解压的redis根目录执行,免安装的情况下,window 切换目录需要首先切到盘符D:然后cd到盘符的指定路径
相关配置文件和官方文档都在下载的目录中,比如下面的conf文件可以修改服务的端口号,默认的是6397
为了安全还需要给redis设置密码,默认安装后是没有密码的,修改方法,修改redis.windows.conf和 redis.windows-service.conf文件找到requirepass这一行加上自己的密码即可,如下图所示,修改后需要重启redis服务
验证修改成功,如下图,进入客户端调用界面输入auth 密码,如果正切则返回OK,然后利用config get requirepass可以得到redis的密码,得到密码前需要
用密码登录验证成功后才可以执行得到密码的命令
Windows版的Redis有2个配置文件,一个是:redis.windows.conf,另一个是redis.windows-service.conf。
但需要注意的是,Windows的Redis启动服务默认加载的配置文件是redis.windows-service.conf,如下图所示:
如果修改了redis.windows.conf(非redis.windows-service.conf)文件上的配置,从服务自启动,配置的信息是不生效的,如密码配置和ip绑定。
解决方案:
方法一、在redis.windows-service.conf文件(非redis.windows.conf)自定义配置信息,因为Redis安装的服务默认加载的是该文件。
方法二、更换Redis服务,具体如下:
如何更改服务默认的配置文件呢?
1、可以删除原来的服务,然后新增自定义Redis自启动服务
2、或者不删除原来的服务,把原来的服务设置为禁用,但是同样新增自己自定义Redis自启动服务
1、新增自定义Redis服务
从CMD命令窗口中进入Redis的安装目录,如:D:softRedis,然后执行下面的命令:
redis-server --service-install redis.windows.conf --loglevel notice --service-name Redis_new
此服务加载的配置文件是redis.windows.conf,不带service的。
2、启动Redis服务:
从CMD命令窗口中进入Redis的安装目录,如:D:softRedis,然后执行下面的命令:
redis-server --service-start
3、删除Redis服务:
从CMD命令窗口中进入Redis的安装目录,如:D:softRedis,然后执行下面的命令:
redis-server --service-uninstall
RedisDesktopManager是一款连接redis数据库的客户端。
linux 下安装redis很简单,在此不做赘述
发现linux上启动redis,测试redis使用正常,
但使用RedisDesktopManager却连接不上,报错如下,报错信息显示:当前使用的Protrcted mode模式,也就是保护模式,保护模式只允许本地访问,,而且还显示no bind address specified ,所以需要修改这两个配置
需要修改redis.conf
1.修改bind
原来: bind 127.0.0.1 代表本地回环地址,访问redis服务只能通过本机的客户端连接,而无法通过远程连接
修改为:将此行注释或者讲ip改成0.0.0.0 这样就能接受所有来自于可用网络接口的连接
2.修改protected mode 保护模式,只允许本地链接
修改为:protected mode no
补充 redis.conf 中的daemonize 配置
daemonize yes
代表开启守护进程模式。此时是单进程多线程的模式,redis将在后台运行,并将pid写入redis.conf--pidfile文件中,此时redis将一直运行,除非手动kill
daemonize no
当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(xshell等)都会导致redis进程退出
修改配置文件后需要重启redis!!!
注:启动redis 一定要指定配置文件,否则配置文件不生效的
./src/redis-server redis.conf
背景:我是在自己机器上装的redis,使用的是虚拟机,系统是linux 版本是centeros-6.7
在使用这个连接redis的时候,发现连接不上。
第一步:在自己的本机外面试下能不能连接上虚拟机,打开cmd,使用 ping 192.168.65.128 (192.168.65.128这个为虚拟机的ip地址 查看虚拟机的ip地址:命令 ifconfig)
如果能ping的通,这个没问题,表示外部可以访问得到。访问不到可以,把虚拟机的防火墙给关了,最省事,命令: service iptables stop
第二步:在redis的配置文件(redis.conf)里面是否设置了requirepass 表示连接的密码,如果没有设置,不好意思,连接不上
第三步: 在redis的配置文件里面,是否把bind 127.0.0.1 给注释掉,如果没有,连接不上
以上这些你都做了,应该就没有问题了
如果还是连接不上,你首先在你虚拟机里面登录上redis的客户端 进入到src目录层级下面。
和启动redis一样,命令: ./redis-cli
进入到客户端之后:命令:auth 1234(你设置的密码)
看一下是否ok。
我之前在这里踩了坑,明明我的配置文件里面设置了访问密码,却没有生效,为了保险起见,还是再来看下,密码是否生效了
如果ok,那就没有问题,如果出现了错误,说你密码没有设置,那就直接用命令设置:config set requirepass 1234(这个为你设置的访密码)
然后再试下命令 auth 1234(出现ok就好了)
这样就应该可以顺利的连接上redis了。