• 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](//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
    

    图3

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

    $ tail -f log-redis.log
    

    图4


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

    参考资料

    redis官网

    redis github

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



  • 相关阅读:
    微信公众平台接口获取时间戳为10位,java开发需转为13位
    redis实现哨兵机制
    redis配置主从复制
    C 语言字符 和字符串输出
    C 小写字母编程大写并输出
    C语言计算机器运行时间
    C 猜数游戏
    C 产生随机码 (输入数字来产生)
    C 产生随机码
    C 语言链表操作例程 (待完善)
  • 原文地址:https://www.cnblogs.com/fishbay/p/7204173.html
Copyright © 2020-2023  润新知