Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
**密码:**redis默认情况下是不需要输入密码的,可以在redis.windows.conf中进行设置,这样在连接Redis的时候就需要输入密码才能连接,如果嫌密码太繁琐,可以把这行注释掉即可。
端口: 修改端口号也是在这个配置文件里面,默认的端口号是6379,你如果需要可以改成你想设置的端口号,修改过端口号的配置文件启动客户端时需要指定端口号连接 redis-cli.exe -p 7445(你修改的端口号)
通过双击redis-server.exe文件启动,这种方式启动,默认情况下加载默认配置文件redis.windows.conf进行启动
通过cmd命令启动,在redis当前目录打开cmd窗口,输入以下命令启动,这种方式启动可以自定义redis配置文件。
redis-server.exe redis.windows.conf
大家可以看到在Redis的解压缩包中有两个配置文件 redis.windows.conf和redis.windows-service.conf,这两个配置文件有什么区别了,这里需要你了解清楚!!!
由于安装版的Redis服务自启动,是直接通过redis-server.exe启动的,启动时并没有加载到(redis.windows.conf)文件,而是默认加载的是redis.windows-service.conf文件
解压缩版本的Redis在启动的时候,如果没有指定配置文件,也是默认加载的redis.windows-service.conf,而我们上述的修改都在redis.windows.conf中,会导致我们的配置不生效
所以说Redis由Windows自启动的,配置文件(redis.windows.conf)的设置都是无效的
解决方案
禁用Redis的自启动,设置为手动
不要使用Redis安装版,使用压缩版
通过命令行CMD加载配置文件(redis.windows.conf)启动
redis-server.exe redis.windows.conf
### 1.安装版的Redis
安装版的Redis已经是服务自启动,不需要再进行修改设置
进入Redis的解压目录,执行以下命令
#如果Redis服务没有开启,需要先开启redis服务
redis-server.exe redis.windows.conf
#然后再重新打开一个窗口来执行下面的命令,否则你会看到一个报错说redis-server不是内部或者外部命令
redis-server --service-install redis.windows.conf --loglevel notice --service-name Redis
命令详解
–service-install redis.windows.conf 指定redis配置文件
–loglevel notice 指定日志级别
–service-name Redis 指定服务名称
安装服务后,默认不是马上启动的,但启动类型是自启动,如果想马上启动,请执行命令
#开启redis服务
redis-server --service-start
服务成功启动显示如下:
[9876] 12 Jul 09:57:41.251 # Redis service successfully started.
#----------命令扩展----------
#关闭redis服务
redis-server --service-stop
#删除redis服务
redis-server --service-uninstall
#redis的配置
#Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize yes
#当Redis以守护进程方式运行时,Redis默认会把pid写入redis.pid文件,可以通过pidfile指定
pidfile 'E:/xxx/redis/redis_pid/redis.pid'
#端口
port 6379
#绑定主机的ip地址
bind 127.0.0.1
#当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 300
#指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
loglevel notice
#日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
logfile stdout
#设置数据库的数量,默认数据库为0,可以使用SELECT 命令在连接上指定数据库id
databases 16
#指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
#分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改
save 900 1
save 300 10
save 60 10000
#指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes
#指定本地数据库文件名,默认值为dump.rdb
dbfilename dump.rdb
#指定本地数据库存放目录
dir 'D:/XXX/redis/redis_database'
#设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
#slaveof 127.0.0.1 6379
#当master服务设置了密码保护时,slav服务连接master的密码
#masterauth 123456
#设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH 命令提供密码,默认关闭
#requirepass foobared
#设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息
maxclients 10000
#指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区
maxmemory 300m
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendonly yes
#指定更新日志文件名,默认为appendonly.aof
appendfilename 'appendonly.aof'
#指定更新日志条件,共有3个可选值
#no:表示等操作系统进行数据缓存同步到磁盘(快)
#always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
#everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec
双击执行redis-cli.exe即可。(需要先启动后服务端,再启动客户端,否则会连接不上redis)
通过cmd命令启动,进入redis解压后的目录,在当前目录打开cmd窗口(这里打开的是新的cmd窗口哦,不要使用上面服务端的cmd窗口)输入以下命令启动Redis客户端
redis-cli.exe
成功到以上步骤,我们的redis就安装成功了。