Redis环境搭建(MacOS)

Redis是一个开源的key-value类型的存储系统,大部分数据存在于内存中,全部读写速度十分快。其支持的存储value数据类型有多种,如:stringshasheslistssetssorted sets等等,这些数据类型都支持push/popadd/remove等丰富的操做,而且是原子性的。此外,redis还支持周期性的更新数据到磁盘或者追加到记录文件,来实现master-slave数据同步的功能。html

MacOS系统上安装redis的方式有多种,能够用homebrew一键安装:git

$ brew install redis

若是提示权限问题,请使用github

sudo brew install redis

此种方法再也不介绍。下面来介绍一下源码安装的方式:redis

1、编译源码

1. 下载源码数据库

源码地址:https://redis.io/缓存

首先须要到redis官网下载源码,而后解压,若是是在终端里解压,可使用以下命令,解压到当前目录:安全

$ tar -zxf redis-4.0.0
![图1](//upload-images.jianshu.io/upload_images/1843940-dd0a84ac3947d096.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2. 编译服务器

redisC语言开发的系统,须要gcc的编译器,若是没有C的编译器,能够用homebrew安装一下:app

$ brew install gcc

redis里包含了makefile,简化了编译步骤,直接使用make就能够编译:异步

$ make
![图2](//upload-images.jianshu.io/upload_images/1843940-b7bed7d6e9340c52.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2、安装redis

在编译完成后,须要把redis的命令安装到/usr/local/bin目录中,能够直接使用make install命令,若是但愿安装到指定目录,须要指定PREFIX的目录。

1. 安装

make PREFIX=/usr/local/redis-4.0.0 install

若是/usr/local目录下没有redis-4.0.0的目录,须要建立,若是在终端中直接使用mkdir redis-4.0.0出现提示权限问题,则能够在图形化界面中建立,可是须要输入密码,这样建立的目录的owner用户是当前用户,而不是root用户,由于root用户在后面须要自动建立日志文件时会遇到权限的问题。

PREFIX=/usr/local/redis-4.0.0表示指定redis的安装目录

2. redis配置

把源码目录下的redis.conf文件拷贝到/usr/local/redis-4.0.0/etc目录下,而后按以下提示修改代码:

#修改成守护模式
 
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

3、使用redis

redis的官网上面有教程,能够参考学习。

启动redis服务(在redis-4.0.0目录下):

$ ./bin/redis-server etc/redis.conf

启动redis客户端:

$ ./bin/redis-cli

图3

另外,咱们也能够查看redis的日志文件log-redis.log,能够看到redis的操做变化。

$ tail -f log-redis.log

图4


redis的环境搭建如上所示,在现在的服务器应用开发过程当中,用redis作缓存的应用仍是十分普遍的,文中不足之处,还望互相交流学习。

参考资料

redis官网

redis github

初识redis——mac下搭建redis环境

相关文章
相关标签/搜索