Redis主从及其PHP扩展安装配置

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
日志服务 SLS,月写入数据量 50GB 1个月
简介:

1.Redis简介
   Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
   Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。
2.物理环境
Master:192.168.1.249     Centos 5.5
Slave:192.168.1.244      Centos 5.5
3.获取redis软件包
在redis的官方网站(http://www.redis.io)下载最新的稳定版本redis-2.6.4.tar.gz。

112005623.jpg

4.安装配置Redis主服务。
4.1用tar -zxvf解压软件包。

112017716.jpg

4.2用make && make install 编译安装Redis服务。

112033740.jpg

4.3创建Redis主配置文件目录,并复制redis.conf到该目录下面。

112048776.jpg

4.4编辑Redis主配置文件。1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
cat  /etc/redis/redis .conf
#redis 以后台进程运行,默认为NO
daemonize  yes
#如果已后台程序运行,则需要制定一个PID
pidfile  /data/logs/redis/redis .pid
#redis服务绑定的主机IP
bind 192.168.1.249
#redis监听的端口,默认为6379
port 6379
#客户端连接超时时间,默认为300秒
timeout 600
#日志级别,分为debug,verbose(default),notice,waring
loglevel notice
#日志文件存放位置,默认为stdout
logfile  /data/logs/redis/redis .log
#可用数据库数,默认为16
databases 16
#900秒内至少有一个key被改变
save 900 1
#300秒内至少有十个key被改变
save 300 10
#60秒内只要有一万个key被改变
save 60 10000
#存储到本地数据库是否压缩,默认为yes
rdbcompression  yes
#本地数据库文件名,默认为dump.rdb
dbfilename yanzi_dump.rdb
#本地数据库存放路径
dir  /data/redis/
#客户端最大连接数,默认不限制
maxclients 128
#是否每次日志更新操作后进行日志记录
appendonly  yes
#更新日志文件名,默认为appendonly.aof
appendfilename yanzi_update.aof
#verysec表示每秒钟同步一次数据到磁盘(默认值)。
appendfsync everysec
#redis slave连接密码
#requirepass sfzhang
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
slowlog-log-slower-than 10000
slowlog-max-len 1024
really-use-vm  yes
#是否使用虚拟内存,默认为no
vm-enabled  yes
#虚拟内存文件路径,默认值为/tmp/redis.swap
vm-swap- file  /tmp/redis .swap
#默认值为零,所有的values存储在磁盘
vm-max-memory 0
#虚拟内存文件以块存储,每块32bytes
vm-page-size 32
#虚拟内存文件的最大数
vm-pages 134217728
#设置访问swap文件的线程数
vm-max-threads 4
#指定在超过一定数量或者最大元素超过某一临界时,采用一种特殊的哈希算法
hash -max-zipmap-entries 512
hash -max-zipmap-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set -max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
#是否重置Hash表
activerehashing  yes

4.5启动Redis主服务,并设置开机自动重启。

112237801.jpg

4.5查看Redis端口是否监听。

112250109.jpg

5.安装配置Redis从服务器。
只需把主服务器/etc/redis/redis.conf配置文件复制到从服务器的/etc/redis/目录里面,把配置文件的bind地址修改成主服务器的IP地址,并添加下面两行即可。

112317189.jpg

6.Redis 主从配置测试。
在Redis主服务器上面用redis-cli登陆服务器,用set命令给sfzhang赋值一串字符,可以用get命令获取该字符串的值。

112337795.jpg

在从服务器上面直接用get获取该字符串的值,如果没有报错且两者的值相同,说明Redis主从配置是OK的,其中的-a参数表示连接密码,密码为sfzhang。

112350775.jpg

7.Redis PHP扩展phpredis的安装配置。
7.1获取phpredis软件包,在redis官方网站clients里面下载PHP扩展所需要的软件包(https://github.com/owlient/phpredis/downloads)phpredis-master.zip。
7.2安装配置phpredis。
[root@Redis249 software]# unzip phpredis-master.zip
[root@Redis249 software]# cd phpredis-master
[root@Redis249 software]#/usr/bin/phpize
[root@Redis249 software]#./configure -with-php-config=/usr/bin/php-config
[root@Redis249 software]#make && make install
7.3php.ini中添加extension=redis.so,然后重启PHP的php-fpm服务。
7.4编写PHP测试页,测试php和redis是否能协同工作。

130924714.jpg

7.5浏览器访问测试,如果出现I am sfzhang,I come from ningxia!!,说明PHP连接Redis 成功。

131114602.jpg











本文转自 sfzhang 51CTO博客,原文链接:http://blog.51cto.com/sfzhang88/1054902,如需转载请自行联系原作者

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
22天前
|
安全 PHP 开发者
php中配置variables_order详解
`variables_order` 是 PHP 配置中的一个关键指令,它决定了不同来源的变量被导入到全局变量空间的顺序。正确配置 `variables_order` 不仅可以确保变量的正确处理和覆盖顺序,还能提高应用程序的安全性。开发者应根据具体应用的需求,合理配置 `variables_order`,确保应用的稳定和安全运行。
31 5
|
1月前
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
40 5
|
1月前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
63 3
|
1月前
|
存储 NoSQL PHP
PHP与Redis结合使用,提升数据存储性能
随着互联网应用的发展,PHP与Redis的结合成为提升数据存储性能的重要手段。PHP作为流行的服务器端语言,常用于网站开发;Redis作为高性能内存数据库,以其快速读写能力,有效优化数据访问速度,减轻数据库压力。两者结合通过缓存机制显著提升应用响应速度,支持高并发场景下的稳定性和可扩展性。
|
1月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
1月前
|
存储 NoSQL 关系型数据库
PHP 使用 Redis
10月更文挑战第22天
36 6
|
2月前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
31 1
|
2月前
|
缓存 分布式计算 NoSQL
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
37 2
|
2月前
|
SQL 分布式计算 NoSQL
大数据-42 Redis 功能扩展 发布/订阅模式 事务相关的内容 Redis弱事务
大数据-42 Redis 功能扩展 发布/订阅模式 事务相关的内容 Redis弱事务
28 2
|
2月前
|
存储 缓存 NoSQL
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
71 1
下一篇
DataWorks