Redis与Memcache

来源:互联网 发布:linux下重启的命令 编辑:程序博客网 时间:2024/06/11 18:13

参考了:
如何在 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-cli127.0.0.1:6379> keys *(empty list or set)127.0.0.1:6379> set key "hello world"OK127.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. 查找 Memcachedyum search memcached// 2. 安装 Memcachedyum -y install memcached// 3. 验证安装memcached -h// 4. 将 memcache 加入启动列表(这一条自己没有试过)chkconfig --level 2345 memcached on// 5. 配置Memcachevim /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
0 0
原创粉丝点击