0.环境

MacOS Mojave 10.14.6

brew 安装方式

redis版本用brew自带版本(5.0.6)




brew 修改yarn版本 brew install指定版本_redis


一、安装redis

查询brew中redis软件包:

➜ ~ brew search redis

结果如下:


brew 修改yarn版本 brew install指定版本_数据_02


我们选择默认的版本(5.0.6),其他还有redis@3.2、redis@4.0,大家可以根据实际需要选择。

安装redis

➜ ~ brew install redis

安装过程如下:


brew 修改yarn版本 brew install指定版本_brew 修改yarn版本_03


安装完毕后,会在 /usr/local/etc 路径下有 redis.conf 文件,该文件就是redis的配置文件。


brew 修改yarn版本 brew install指定版本_brew 修改yarn版本_04


二、配置redis

为了方便开发者的使用,我们需要修改几个配置,如下:

daemonize的默认配置是no,将其改为yes。

port 是redis的端口属性,默认是6379。

loglevel 是日志的级别,默认是notice。将其设置为debug。

logfile 是redis日志文件的保存位置,默认是空的,需要自行添加一个日志保存路径,这里建议用户设置为不需要sudo权限就可以读写的位置中去,【建议在Users路径下创建目录来进行保存日志】

bind 指的是本机的ip,如果要任意主机访问,注释redis.conf中说有的bind信息,或者将bind 127.0.0.1改为bind 0.0.0.0

requirepass 123456——设置连接密码。

pidfile /var/run/redis_6379.pid——如果有时候启动不能访问,除了kill进程外,还需删除这个pid文件。

可以根据自己的实际情况进行配置,不全部展开。

三、启动redis(手动)

redis-server /usr/local/etc/redis.conf

要不要用sudo?

四、启动redis(开机启动)

加入开机启动

cp /usr/local/Cellar/redis/5.0.6/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/

设置开启启动

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

取消开机启动

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

五、常见操作

停止redis server服务(无密码情况)

redis-cli shutdown

测试redis server是否启动(无密码情况)

redis-cli ping

有密码登录

redis-cli -a

完整的登录

redis-cli -h 127.0.0.1 -p 6379 -a

六、配置文件详解

#修改为守护模式daemonize yes#设置进程锁文件pidfile /var/run/redis_6379.pid#端口port 6379#客户端超时时间timeout 300#日志级别loglevel debug#日志文件位置logfile ""#设置数据库的数量,默认数据库为0,可以使用SELECT 命令在连接上指定数据库iddatabases 16##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合#save #Redis默认配置文件中提供了三个条件:save 900 1save 300 10save 60 10000#指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,#可以关闭该#选项,但会导致数据库文件变的巨大rdbcompression yes#指定本地数据库文件名dbfilename dump.rdb#指定本地数据库路径dir /usr/local/var/db/redis/#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能#会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有#的数据会在一段时间内只存在于内存中appendonly no#指定更新日志条件,共有3个可选值:#no:表示等操作系统进行数据缓存同步到磁盘(快)#always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)#everysec:表示每秒同步一次(折衷,默认值)appendfsync everysec