0

Mac OS系统搭建Redis环境

一、Redis简介

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了Memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。
 

二、Redis环境搭建

1、到官网上下载redis,这里下载的版本是3.2.12

官网地址:http://redis.io/

2、将下载下来的tar.gz 压缩包拷贝到usr/local目录下

该目录需要root权限 sudo cp redis-3.2.12.tar.gz /usr/local

3、使用终端进入local文件夹中,解压该压缩文件

sudo tar -zxf 3.2.12.tar.gz

4、编译测试:sudo make test
如果看到下面一行信息,恭喜你,可以安装Redis了

5、redis安装,进入redis-3.2.12文件夹,在终端执行以下命令: sudo make install

如果看到以下信息,说明安装已完成



三、安装
完毕,启动Redis服务

1、在usr/local目录中创建三个文件夹,包括bin,etc,db三个目录(注意:默认情况Mac系统自带bin、etc这两个目录,只用创建第三个目录db即可)

sudo mkdir /usr/local/bin

sudo mkdir /usr/local/etc

sudo mkdir /usr/local/db

 

2、注意本步骤不是必须,如果安装的是3.0.版本的需要手动添加这些文件到usr/local/bin,本文作者用的是3.2.12,执行完前面安装步骤后,这些可执行命令将自动安装到usr/local/bin文件夹,主要包含的文件如下图所示。

如果你的bin文件夹中没有以上几个蓝色标识的文件,请执行以下命令将redis-3.2.12/src目录中的mkreleasehdr.sh,redis-benchmark,redis-check-aof,redis-check-rdb,redis-cli, redis-server

拷贝到bin目录(你可以直接在终端中输入下面这些命令)

sudo cp /usr/local/redis-3.2.12/src/mkreleasehdr.sh ./bin

sudo cp /usr/local/redis-3.2.12/src/redis-check-aof ./bin

sudo cp /usr/local/redis-3.2.12/src/redis-check-rdb ./bin

sudo cp /usr/local/redis-3.2.12/src/redis-benchmark ./bin

sudo cp /usr/local/redis-3.2.12/src/redis-cli ./bin

sudo cp /usr/local/redis-3.2.12/src/redis-server ./bin

 

3、进入redis-3.2.12目录下打开redis.conf配置文件

sudo vi redis.conf 

注意:不会vi的同志使用文本编辑器打开也没问题,本步骤只是让你对redis的配置文件有个大概的认识,不想关注这些信息的可以直接跳过此步,以后有需要了,可以回来再看,redis.conf中部分配置代码如下(中文为新添加的注释)

#修改为守护模式,默认为no
daemonize yes
 
#设置进程锁文件
pidfile /var/run/redis_6379.pid
 
#端口
port 6379
 
#客户端超时时间
timeout 300
 
#日志级别
loglevel debug
 
#日志文件位置
#注意,如果设置了logfile,在终端中将看不到输出信息,因为这些信息都直接保存到日志文件中。
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个可选值: 
#always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) 
#everysec:表示每秒同步一次(折衷,默认值)
#no:表示等操作系统进行数据缓存同步到磁盘(快)
appendfsync everysec


4、启动Redis
终端中执行如下启动命令:
sudo /usr/local/bin/redis-server /usr/local/redis-3.2.12/redis.conf 

至此,Redis 搭建完成,并启动成功,服务默认端口是6379
若想停止redis  进入bin目录,终端输入如下命令,停止Redis服务:
redis-cli shutdown

服务器端会收到shutdown的请求,并关闭服务器

5、查看日志

查看日志的前提是在redis.conf配置文件中设置了保存日志的文件,如果设置日志文件,启动完成后,查看启动启动日志可以用如下命令:

tail -f /usr/local/redis-3.2.12/log-redis.log

大概看到内容如下:
可以看到这里既有启动信息,也有shutdown信息。
 

再次提醒:刚才已经说过,如果设置了logfile日志文件保存路径,在终端中将看不到上面的输出信息,因为这些信息都直接保存到日志文件中。

附录,Redis历史版本下载:

http://download.redis.io/releases/