参考了:
如何在 CentOS 7 上安装 Redis 服务器、
Redis的三种启动方式、
MemCache超详细解读、CentOS6 安装Memcached PHP安装Memcache扩展、CentOS 7系统环境中安装Memcached、Memcache与Memcached介绍及安装配置
Redis 和 Memcache类似,都是用来管理数据的一种缓存服务,并且他们都是放在内存里的,因此其获取数据的速度会比普通数据库要快得多。
然而 Reids 区别于 Memcache,因为他可以定期的将数据从内存中备份到磁盘里,但是 Memcache 不行,Memcache 的数据存放在内存中意味着只要 Memcache 重启了,数据就会消失,因此 Memcache 只是简单的 Key/Value 缓存。
另外,Redis 不仅仅支持简单的 Key/Value 类型的数据,同时还提供 list,set,hash 等数据结构的存储
一、在CentOS下编译安装Redis扩展
1)构建 Redis
redis 目前没有官方 RPM 安装包,我们需要从源代码编译,而为了要编译就需要安装 Make 和 GCC。
yum install gcc make
从官网下载 tar 压缩包。
curl http://download.redis.io/releases/redis-3.0.4.tar.gz -o redis-3.0.4.tar.gz
解压缩。
tar zxvf redis-3.0.4.tar.gz
进入解压后的目录。
cd redis-3.0.4
使用Make 编译源文件。
make
2)安装
进入源文件的目录
cd src
复制 Redis 的服务器和客户端到 /usr/local/bin。
cp redis-server redis-cli /usr/local/bin
最好也把 sentinel,benchmark 和 check 复制过去。
cp redis-sentinel redis-benchmark redis-check-aof redis-check-dump /usr/local/bin
创建redis 配置文件夹。
mkdir /etc/redis
在/var/lib/redis 下创建有效的保存数据的目录
mkdir -p /var/lib/redis/6379
3)配置参数
redis.conf 是 redis 的配置文件,然而你会看到这个文件的名字是 6379.conf ,而这个数字就是 redis 监听的网络端口。如果你想要运行超过一个的 redis 实例,推荐用这样的名字。
复制第一步解压目录下的 redis.conf
到 /etc/redis/6379.conf
,现在编辑这个文件并且配置参数。
vim /etc/redis/6379.conf
daemonize
设置 daemonize 为在前台还是后台运行,如果担心 redis 会突然挂掉,需要它运行在前台, 则设置 daemonize 为 no;如需要它在后台运行,设置为 yes。
daemonize yes
pidfile
设置 pidfile 为 /var/run/redis_6379.pid。
pidfile /var/run/redis_6379.pid
port
如果不准备用默认端口,可以修改。
port 6379
loglevel
设置日志级别。
loglevel notice
logfile
修改日志文件路径。
logfile /var/log/redis_6379.log
dir
设置目录为 /var/lib/redis/6379
dir /var/lib/redis/6379
3)使用
运行6379.conf
文件
cd /etc/redis/
redis-server 6379.conf
// 可以直接打:
redis-server /etc/redis/6379.conf
进行检测
// 检测后台进程是否存在
ps -ef |grep redis
// 检测6379端口是否在监听
netstat -lntp | grep 6379
// 使用`redis-cli`客户端检测连接是否正常,
cd /usr/local/bin/
[root@localhost bin]# redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set key "hello world"
OK
127.0.0.1:6379> get key
"hello world"
127.0.0.1:6379> exit
停止
// 使用客户端
redis-cli shutdown
// 因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的
kill -9 PID
二、在CentOS下yum安装php-redis扩展
PHP共有2种Memcache扩展,一个叫Memcache(2002年发布),另一个叫Memcached(2008年发布)
Memcached比较新,它依赖于limemcached库才能运行,不过它能完成基于Memcache服务的几乎所有功能,比如:Memcached::getResultCode ,它能返回上一次操作Memcache的结果,而Memcache则没有这个功能
Memcache(没有d)不依赖任何库就能运行,安装相对简单,同时也能完成Memcache服务的大部分主要功能。
安装前确定自己要安装哪一种
// 安装 php-redis 扩展
[root@localhost ~]# yum install php-redis
// 安装完成后重启 Apache
[root@localhost ~]# systemctl restart httpd.service
三、在CentOS下yum安装Redis扩展
// 1. 查找 Memcached
yum search memcached
// 2. 安装 Memcached
yum -y install memcached
// 3. 验证安装
memcached -h
// 4. 将 memcache 加入启动列表(这一条自己没有试过)
chkconfig --level 2345 memcached on
// 5. 配置Memcache
vim /etc/sysconfig/memcached
文件中内容如下
PORT=”11211″ 端口
USER=”root” 使用的用户名
MAXCONN=”1024″ 同时最大连接数
CACHESIZE=”64″ 使用的内存大小
OPTIONS=”" 附加参数
// 6. 查看memcache状态
memcached-tool [Memcache Server IP]:[Memcache Server Port] stats
如:memcached-tool 127.0.0.1:11211 stats
// 7. 安装完成后,启动 memcached,并设置一些参数
// -d 以守护进程模式运行(退出终端窗口之后使程序还在运行),-l 指定IP地址127.0.0.1 ,-p 指定端口号11211,-m 为memcached分配多少内存(单位:M),-u 指定使用哪个用户启动memcached
/usr/bin/memcached -b -l 127.0.0.1 -p 11211 -m 150 -u root
// 8. 查看memcached是否在运行
ps -ef | grep memcached
四、在CentOS下yum安装php-memcached扩展
// 1. 查找 php-memcached 包
yum search memcache
// 2. 安装 php-memcache,因为我的是php5.6版本,源里的memcache是这个名字,就装这个
yum install php56w-pecl-memcached
// 3. 重启 Apache 服务
systemctl restart httpd.service
// 4. 验证是否安装完成
php -m | grep memcached