Redis环境搭建(MacOS)

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

MacOS系统上安装redis的方式有多种,可以用homebrew一键安装:

$ brew install redis

如果提示权限问题,请使用sudo brew install redis,此种方法不再介绍。下面来介绍一下源码安装的方式:

一、编译源码

1. 下载源码

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

首先需要到redis官网下载源码,然后解压,如果是在终端里解压,可以使用如下命令,解压到当前目录:

$ tar -zxf redis-4.0.0
图1

2. 编译

redisC语言开发的系统,需要gcc的编译器,如果没有C的编译器,可以用homebrew安装一下:

$ brew install gcc

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

$ make
图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

三、使用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环境

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容