Mac安装搭建 Redis,配置参数意义

我现在电脑上本地环境还差个 redis ,以下是整个安装步骤,安装期间还碰到两个问题。


这篇文章在我本地放了很久,因为我启动 redis ,并没有 redis 图案显示,担心步骤有点问题,安装失败了,所以没贴到博客上。但经过我几次使用,发现并没有什么问题。

下载 redis

在 redis 官网下载安装包,我下载就是当前最新的 5.0.7

下载完将安装包拷贝到 /usr/local 下。

然后在该路径下解压文件,这里需要 root 权限。

sudo tar -zxf redis-5.0.7.tar.gz

在终端继续用命令进入解压出来的目录文件夹

cd redis-5.0.7

然后编译测试

sudo make test

看是否出现如下图片内容,如果不是,说明编译测试没通过

我第一次编译测试时,出现以下报错

couldn't execute "src/redis-benchmark": no such file or directory.

然后用如下命令解决

sudo make distclean
sudo make
sudo make test

编译安装

sudo make install

安装完成,接下来在 /usr/local 路径下创建 redis 目录,同时创建三个子文件夹

cd ..
sudo mkdir redis
cd redis
sudo mkdir bin
sudo mkdir db
sudo mkdir etc

接着把 redis-5.0.7/src 路径下的 mkreleasehdr.sh、redis-benchmark、redis-check-dump、redis-cli、redis-server 拷贝到 redis/bin 目录下。

这里我不是通过终端用命令拷贝,而是在访达文件中操作

但是这有个问题,并没有在 src 下找到 redis-check-dump,所以最终我只拷贝 4 个文件到 bin。

接着在 etc 路径下创建 redis.conf

cd etc
sudo vim redis.conf

将以下配置内容复制进去

#修改为守护模式

daemonize yes

#设置进程锁文件

pidfile /usr/local/redis/redis.pid

#端口

port 6379

#客户端超时时间

timeout 300

#日志级别

loglevel debug

#日志文件位置

logfile /usr/local/redis/log-redis.log

#设置数据库的数量,默认数据库为 0,可以使用 SELECT <dbid> 命令在连接上指定数据库 id

databases 8

##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合

#save <seconds> <changes>

#Redis 默认配置文件中提供了三个条件:

save 900 1

save 300 10

save 60 10000

#指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大

rdbcompression yes

#指定本地数据库文件名

dbfilename dump.rdb

#指定本地数据库路径

dir /usr/local/redis/db/

#指定是否在每次更新操作后进行日志记录,Redis 在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 Redis 本身同步数据文件是按上面 save 条件来同步的,所以有的数据会在一段时间内只存在于内存中

appendonly no

#指定更新日志条件,共有 3 个可选值:

#no:表示等操作系统进行数据缓存同步到磁盘(快)
#always:表示每次更新操作后手动调用 fsync() 将数据写到磁盘(慢,安全)
#everysec:表示每秒同步一次(折衷,默认值)

appendfsync everysec

保存退出后,在 etc 目录中启动 redis 服务。

sudo ../bin/redis-server ./redis.conf

比较尴尬的事,并没有出现 redis 启动成功的图案。

然后我进入 bin 目录下,启动客户端

./redis-cli 

确实成功脸上服务端的显示,反正有点莫名其妙。

然后关闭 redis 服务,就在客户端连上的状态,输入 shutdown

本文由老郭种树原创,转载请注明:https://guozh.net/install-redis-on-macos/

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注