weiliwei 发表于 2017-7-5 18:37:18

Mac环境下安装Redis

转自:http://www.jianshu.com/p/6b5eca8d908b
-安装

  下载安装包 redis-3.0.7.tar.gz
  官网地址:http://redis.io/download
  解压:tar -zvxf redis-3.0.7.tar.gz将解压后的文件夹放到 /usr/local目录下
  编译测试:接下来在终端中切换到/usr/local/redis目录下,输入:sudo make test


  编译安装:在终端中输入命令:sudo make install


  启动Redis,输入命令redis-server


  看到这个界面表示我们已经成功的安装Redis。
二配置
  1、在 /usr/local/redis目录下建立bin,etc,db三个目录
  2、把/usr/local/redis/src目录下的mkreleasehdr.sh,redis-benchmark, redis-check-dump, redis-cli, redis-server拷贝到bin目录
  3、在etc下,参考原/usr/local/redis目录下的redis.conf,新建一个redis.conf
  修改redis.conf,具体如下:
  #修改为守护模式
  daemonize yes
  #设置进程锁文件
  pidfile /usr/local/redis/redis.pid
  #端口
  port 6379
  #客户端超时时间
  timeout 300
  #日志级别
  loglevel debug
  #日志文件位置
  logfile /usr/local/redis/log-redis.log
  #设置数据库的数量,默认数据库为16,可以使用SELECT 命令在连接上指定数据库id
  databases 16
  ##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
  #save
  #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
  4、保存后,启动redis:./bin/redis-server etc/redis.conf
  5、查看日志文件:tail -f log-redis.log

  到这里,我们已经完成redis安装和配置。
三其他
  1、检查是否启动:redis-cli ping
  2、redis-cli 跟上命令会将参数发送到本地redis 6379 的端口,下面来看看基本操作:

  3、关闭命令:redis-cli shutdown
四.服务器配置
  上面只是基本的安装,如果要用到生产环境,得配置一些文件
  1.首先把redis-cli 移动到/usr/local/bin 目录,方便执行,和JAVA_HOME 类似
  默认install 的时候已经有了
  2.创建你存放配置文件和数据文件的目录
  sudomkdir /etc/redissudo mkdir /var/redis
  3.复制初始化脚本到/etc/init.d 目录,建议默认只有这个端口,作开机启动
  $ sudocp utils/redis_init_script /etc/init.d/redis_6379
  4.进入脚本,确保你的REDISPORT 是你正在使用的
  sudovi /etc/init.d/redis_6379
  5.复制redis.conf ,和脚本保持一致
  sudocp redis.conf /etc/redis/6379.conf
  6.创建一个存放工作数据的目录
  sudomkdir /var/redis/6379
  同时可以对redis.conf配置其他属性
  # 来源:http://www.cnblogs.com/shanyou/archive/2012/01/28/2330451.htmldaemonize:是否以后台daemon方式运行pidfile:pid文件位置port:监听的端口号timeout:请求超时时间loglevel:log信息级别logfile:log文件位置databases:开启数据库的数量save **:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。rdbcompression:是否使用压缩dbfilename:数据快照文件名(只是文件名,不包括目录)dir:数据快照的保存目录(这个是目录)appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
  7.最后将脚本设置默认启动
  sudoupdate-rc.d redis_6379 defaults
  8.现在可以执行脚本了
  /etc/init.d/redis_6379start
  五.MAC 版本差异
  一个不幸的事实是:mac 上是没有init.d 目录的,mac启动脚本是 以.plist 结尾了,
  好吧,我在 ~/Library/LaunchAgents 目录下自己建立一个 redis.plist
  参考:http://www.js2node.com/redis-io/install-redis-io-2-4-17-on-mac-osx-as-service
  $ sudovi redis.plist
  然后输入以下内容
  Labelio.redis.redis-serverProgramArguments/usr/local/bin/redis-server/usr/local/etc/redis.confRunAtLoad
  执行命令
  $ sudolaunchctlload/Library/LaunchDaemons/io.redis.redis-server.plist
  打开关闭:
  $ sudolaunchctlstartio.redis.redis-server$ sudo launchctl stop io.redis.redis-server
  六.brew 进行安装
  下面我用brew来操作,关于brew 的安装我看的:http://my.oschina.net/liygheart/blog/284668
  安装好了,然后 参考:https://gist.github.com/tonypujals/9631143
  $brew info redis
  会有提示,然后输入
  $ln -nfs /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
  和
  $load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
  小结
  1.基本都是是文档上来的基础,主要因为系统问题,导致安装遇到点小麻烦记录一下,也分享一下
  2.如果有错,请指点 非常感谢。
  关于redis 选型的文章推荐:
  http://www.infoq.com/cn/articles/tq-why-choose-redis
  优化的推荐:
  http://www.infoq.com/cn/articles/tq-redis-memory-usage-optimization-storage
  更多命令操作参考:
  http://redis.io/commands
  基本学习
  http://try.redis.io/
  顺便给个安装其他东西的地址
  https://github.com/davetheninja/dots/blob/master/bootstrap.sh
页: [1]
查看完整版本: Mac环境下安装Redis