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](//upload-images.jianshu.io/upload_images/1843940-dd0a84ac3947d096.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2. 编译

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

$ 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)

二、安装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

另外,我们也可以查看redis的日志文件log-redis.log,可以看到redis的操作变化。

$ tail -f log-redis.log


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

参考资料

redis官网

redis github

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



Redis环境搭建(MacOS)的更多相关文章

  1. Redis环境搭建和代码测试及与GIS结合的GEO数据类型预研

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 1.1传统MySQL+ Memcached架构遇到的问题 My ...

  2. redis环境搭建及一主二从三哨兵模式配置

    一.单机redis环境搭建 1.安装: OS:linux redhat6.5 下载redis 官网下载链接:https://redis.io/download 把安装包上传到服务器,进行解压 [roo ...

  3. nginx + lua +redis环境搭建

    环境搭建,其实主要是lua的环境,这个环境够麻烦的,在网上找了很多前辈的文章,终于完成了 ,安装redis wget http://download.redis.io/releases/redis-3 ...

  4. django+celery+redis环境搭建

    初次尝试搭建django+celery+redis环境,记录下来,慢慢学习~ 1.安装apache 下载httpd-2.0.63.tar.gz,解压tar zxvf httpd-2.0.63.tar. ...

  5. Redis环境搭建(Linux)

    1.简介       redis是一个开源的key-value数据库.它又经常被认为是一个数据结构服务器.因为它的value不仅包括基本的string类型还有 list,set ,sorted set ...

  6. 一.redis 环境搭建

    1.简介       redis是一个开源的key-value数据库.它又经常被认为是一个数据结构服务器.因为它的value不仅包括基本的string类型还有 list,set ,sorted set ...

  7. Redis环境搭建

    一.准备的安装包 windows虚拟机软件:VMware Workstation Pro 12 linux安装文件:CentOS-7-x86_64-Minimal-1511.iso 远程登录软件:pu ...

  8. 浅谈基于Linux的Redis环境搭建

    本篇文章主要讲解基于Linux环境的Redis服务搭建,Redis服务配置.客户端访问和防火强配置等技术,适合具有一定Linux基础和Redis基础的读者阅读. 一  Redis服务搭建 1.在根路径 ...

  9. redis - 环境搭建(转)

      一:简介(来自百科) redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zse ...

随机推荐

  1. HTML RGB 颜色表 16进制表 颜色对应表

    HTML RGB 颜色表 16进制表 颜色对应表  16 常用颜色表(颜色 + RGB + 名字): Color Value Name   Color Value Name   #00FFFF aqu ...

  2. jvm 加载class文件过程

    jvm 加载class文件分为装载-链接-初始化三个过程. load -------->link verify prepare resolve     ---------->initial ...

  3. Win Linux 双系统安装指南

    双系统安装指南 环境说明 硬件:一块240G NVMe,一块240G SSD,一块2T的HDD. 系统:Linux Mint 18.2,Windows 10 Enterprise Version 17 ...

  4. Win7 JBOSS的下载安装、环境变量配置以及部署

    1. 下载安装 http://jbossas.jboss.org/downloads/ 我下载的是:JBoss AS7.1.1.Final 2. 解压安装包  D:\Java\jboss-as-7.1 ...

  5. 解决win10注册错误 错误代码0x8002801c

    使用win10的过程中经常碰到各种注册错误,让人抓狂!!! 现在分享一个完美的解决方法(非原创): 最简洁的办法是:1.自行将msinet.ocx(win10系统64位)组件复制到C:\Windows ...

  6. Hibernate一对多实例

    本文向大家介绍Hibernate实例一对多的情况,可能好多人还不了解Hibernate实例一对多,没有关系,下面通过一个实例来帮助您理解Hibernate实例一对多,希望本文能教会你更多东西. 先看由 ...

  7. 电脑装windows与Centos双系统时引导问题

    (本文对电脑如何装windows系统和centos系统不进行详细赘述.) 电脑装双系统时,首先要安装windows系统,在硬盘中划分一块空闲的分区,用来安装centos系统(可以借助"软碟通 ...

  8. Jvm垃圾收集器和垃圾回收算法

    概述: 目前内存的动态分配和内存的回收技术已经相当成熟,一切看起来都已经进入了“自动化”时代,为什么还要去了解GC和内存分配呢?原因很简单:当需要排查各种内存泄漏.内存溢出问题时,当垃圾收集器成为系统 ...

  9. C指针1

    //定义:指针是一个特殊的数据类型,指针指向内存中的地址,因此,指针变量存储的是内存中的一个地址 //例子,%p表示打印一个地址,打印p表示打印p指向的地址 //输出结果为0x7fff5fbff7dc ...

  10. Java并发编程——线程安全及解决机制简介

    简介: 本文主要介绍了Java多线程环境下,可能会出现的问题(线程不安全)以及相应的解决措施.通过本文,你将学习到如下几块知识: 1. 为什么需要多线程(多线程的优势) 1. 多线程带来的问题—线程安 ...