MAMP 安装 Memcache | redis

Memcache

https://github.com/uiste/PHP_Class_Library/tree/master/php-memcached

参考文章:

Redis

一.下载安装

  1. 下载:http://redis.io/
  2. 移动:uiste:~ uiste$ cd downloads
  3. 解压:uiste:local uiste$ sudo tar -zxf redis-3.2.5.tar.gz
  4. 进入:uiste:local uiste$ cd redis-3.2.5
  5. 测试编译:uiste:redis-3.2.5 uiste$ sudo make test
  6. 安装:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    uiste:redis-3.2.5 uiste$ sudo make install
    Password:
    cd src && /Applications/Xcode.app/Contents/Developer/usr/bin/make install
    INSTALL redis-sentinel
    CC redis-cli.o
    LINK redis-cli
    CC redis-benchmark.o
    LINK redis-benchmark
    INSTALL redis-check-rdb

    Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    uiste:redis-3.2.5 uiste$
  7. 配置文件redis.conf
    redis解压目录里有一个配置文件redis.conf ,编辑此配置文件,找到 dir ./ 这一行。redis会将内存中的数据写入文件中,而此配置就是指定数据文件保存的路径。我本机指定的目录为:
    247 dir /Users/uiste/Software/redis_data/

编辑过后,将配置文件移动到 /usr/local/etc 目录下
uiste:redis-3.2.5 uiste$ sudo mv redis.conf /usr/local/etc

  1. 启动
    uiste:redis-3.2.5 uiste$ /usr/local/bin/redis-server /usr/local/etc/redis.conf

    服务启动成功画面:

  2. 测试连通性

    1
    2
    3
    4
    5
    6
    uiste:~ uiste$ cd /usr/local/bin
    uiste:bin uiste$ ./redis-cli
    127.0.0.1:6379> set name uiste
    OK
    127.0.0.1:6379> get name
    "uiste"
  3. 设置开机自动启动redis server
    新建plist文件
    uiste:~ uiste$ sudo vi /Library/LaunchDaemons/io.redis.redis-server.plist
    文件内容如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//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>

使用launchctl设置开机自动启动
uiste:~ uiste$ sudo launchctl load /Library/LaunchDaemons/io.redis.redis-server.plist

使用launchctl启动redis server
uiste:~ uiste$ sudo launchctl start io.redis.redis-server

使用launchctl停止redis server
uiste:~ uiste$ sudo launchctl stop io.redis.redis-server

启动

uiste:~ uiste$ redis-cli

上述方法启动redis时是以非密码形式登录的,许多操作可能会出现 (error) NOAUTH Authentication required.
解决此问题的方法之一就是找到 /etc/redis.conf,并将#requirepass 前的 “#” 去掉。由于每个人电脑不同,有可能没法在 /etc 路径下找到redis.conf, 因此可以选择采用第二种方法:
(1)、按照原来方式 ./redis-cli 进入redis 客户端, 输入config set requirepass XXX,其中XXX是你要设置的密码。此时会出现 “OK”;
(2)、之后返回bin目录下,输入 redis-cli -h 127.0.0.1 -p 6379 -a XXX, 就相当于以密码形式登录了。此后也不会再有身份验证失败问题。
(3)、可以使用config get requirepass 查看密码

四.服务器配置

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

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配置其他属性

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