• redis 安装(MAC)


    原文地址:http://greemranqq.iteye.com/blog/2202050?utm_source=tuicool&utm_medium=referral

    一.序言

    这是以redis 3.0 为基础,从官网来的基础安装步骤。官网地址:http://redis.io/download

    github介绍:https://github.com/antirez/redis

    基础学习:http://try.redis.io/

    二.安装步骤

    教程地址:http://redis.io/topics/quickstart

    1.下载redis 3.0 解压:tar -zvxf redis-3.0.0.tar.gz

    进入目录输入一些命令

    $ sudo make
    # make test 是可选命令,看看redis 内部的一些东西是否OK
    $ sudo make install
    # 也可以按官网推荐的来

    Starting Redis

    $ redis-server

    看到类似的:

    4255:C 13 Apr 16:11:37.101 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
    4255:M 13 Apr 16:11:37.102 * Increased maximum number of open files to 10032 (it was originally set to 2560).

    这是使用的默认配置,如果你生成需要,应该使用另一个配置文件

    $ redis-server redis.conf

    这是在当前目录执行了,后面要对应你conf 的位置,执行之后你可以看到:

    检查是否启动

    $ redis-cli ping

    redis-cli 跟上命令会将参数发送到本地redis 6379 的端口,下面来看看基本操作:

    $ redis-cli
    127.0.0.1:6379> ping
    PONG
    127.0.0.1:6379> set mykey hello
    OK
    127.0.0.1:6379> get mykey
    "hello"
    127.0.0.1:6379>

    控制台输入 关闭命令

    $ redis-cli shutdown

    四.服务器配置

    上面只是基本的安装,如果要用到生产环境,得配置一些文件

    1.首先把redis-cli 移动到/usr/local/bin 目录,方便执行,和JAVA_HOME 类似

    默认install 的时候已经有了 

    2.创建你存放配置文件和数据文件的目录

    sudo mkdir /etc/redis
    sudo mkdir /var/redis

    3.复制初始化脚本到/etc/init.d 目录,建议默认只有这个端口,作开机启动

    $ sudo cp utils/redis_init_script /etc/init.d/redis_6379

    4.进入脚本,确保你的REDISPORT 是你正在使用的

    sudo vi /etc/init.d/redis_6379

    5.复制redis.conf ,和脚本保持一致

    sudo cp redis.conf /etc/redis/6379.conf

    6.创建一个存放工作数据的目录

    sudo mkdir /var/redis/6379

    同时可以对redis.conf配置其他属性

    # 来源:http://www.cnblogs.com/shanyou/archive/2012/01/28/2330451.html
    daemonize:是否以后台daemon方式运行
    pidfile:pid文件位置
    port:监听的端口号
    timeout:请求超时时间
    loglevel:log信息级别
    logfile:log文件位置
    databases:开启数据库的数量
    save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
    rdbcompression:是否使用压缩
    dbfilename:数据快照文件名(只是文件名,不包括目录)
    dir:数据快照的保存目录(这个是目录)
    appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
    appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

    7.最后将脚本设置默认启动

    sudo update-rc.d redis_6379 defaults

    8.现在可以执行脚本了

    /etc/init.d/redis_6379 start

    五.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

    $ sudo vi redis.plist

    然后输入以下内容

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
      <key>Label</key>
      <string>io.redis.redis-server</string>
      <key>ProgramArguments</key>
      <array>
        <string>/usr/local/bin/redis-server</string>
        <string>/usr/local/etc/redis.conf</string>
      </array>
      <key>RunAtLoad</key>
      <true/>
    </dict>
    </plist>

    执行命令

    $ sudo launchctl load /Library/LaunchDaemons/io.redis.redis-server.plist

    打开关闭:

    $ sudo launchctl start io.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

  • 相关阅读:
    C基础之移位操作
    实现itoa()
    Python的time模块的clock方法在不同平台的效果不同
    __stdcall与__cdecl之区别浅析及相关知识
    Python 字典 dictionary changed size during iteration
    Windows下printf输出long long类型
    inotify也会爆棚
    一条对“失控的腾讯帝国:企鹅无法把控手机市场”的评论
    imfunny程序员的增量发展
    程序员第一定律:关于技能和收入
  • 原文地址:https://www.cnblogs.com/CrazySL/p/5629115.html
Copyright © 2020-2023  润新知