常用命令的使用
64
配置64本机的nginx网站服务可以把数据存储在本机的内存里
在64运行nginx服务,并配置可以解析php脚本
在64主机运行redis服务,并允许在127地址连接服务
[root@redis64 ~]# yum -y install redis # 安装软件
[root@redis64 ~]# systemctl start redis # 启动服务
[root@redis64 ~]# netstat -utnlp | grep redis-server # 查看端口
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 1970/redis-server 1
[root@redis64 ~]# redis-cli # 连接服务
127.0.0.1:6379> ping # 检查能否正在访问
PONG
127.0.0.1:6379> set test aaa # 存储变量
OK
127.0.0.1:6379> get test # 查看变量
"aaa"
127.0.0.1:6379> exit # 断开连接
[root@redis64 ~]#
修改服务运行参数
[root@redis64 ~]# systemctl stop redis
[root@redis64 ~]# vim /etc/redis.conf
bind 192.168.88.64
port 6364
requirepass 123456
[root@redis64 ~]# setenforce 0
[root@redis64 ~]# systemctl start redis
[root@redis64 ~]# netstat -utnlp | grep redis-server
tcp 0 0 192.168.88.64:6364 0.0.0.0:* LISTEN 2009/redis-server 1
[root@redis64 ~]#
[root@redis64 ~]# redis-cli -h 192.168.88.64 -p 6364 连接服务
192.168.88.64:6364> ping 不输入密码无法正常访问
(error) NOAUTH Authentication required.
192.168.88.64:6364> auth 123456 输入密码
OK
192.168.88.64:6364> keys * 查看存储的变量
1) "test"
192.168.88.64:6364> exit 断开连接
[root@redis64 ~]#
部署LNP + Redis
配置nginx网站的php脚本可以连接redis服务 存储数据
在64部署LNP环境
安装源码nginx及php
[root@redis64 ~]# yum -y install gcc make pcre-devel zlib-devel # 安装依赖
[root@redis64 ~]# tar -xf nginx-1.22.1.tar.gz # 解压源码
[root@redis64 ~]# cd nginx-1.22.1 # 进源码目录
[root@redis64 ~]# ./configure # 配置
[root@redis64 ~]# make # 编译
[root@redis64 ~]# make install # 安装
[root@redis64 ~]# ls /usr/local/nginx/ # 查看安装目录
conf html logs sbin
[root@redis64 ~]# yum -y install php php-fpm php-devel # 安装 php 软件
配置动静分离
[root@redis64 ~]# vim +65 /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
启动nginx服务
[root@redis64 ~]# /usr/local/nginx/sbin/nginx -t # 测试配置
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@redis64 ~]# /usr/local/nginx/sbin/nginx # 启动服务
[root@redis64 ~]# netstat -utnlp | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10469/nginx: master
启动php-fpm服务
[root@redis64 ~]# vim /etc/php-fpm.d/www.conf
38 ;listen = /run/php-fpm/www.sock
39 listen = 127.0.0.1:9000
[root@redis64 ~]# systemctl start php-fpm # 启动服务
[root@redis64 ~]# netstat -utnlp | grep 9000 # 查看端口
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 10477/php-fpm: mast
[root@redis64 ~]#
测试配置
[root@redis64 ~]# cat /usr/local/nginx/html/test.php # 编写php脚本
<?php
$i = 100 ;
echo $i ;
echo "\n" ;
?>
[root@redis64 ~]# curl http://localhost/test.php # 访问php脚本
100
配置PHP支持redis
安装提供redis模块的软件
[root@redis64 ~]# tar -xf redis-cluster-4.3.0.tgz
[root@redis64 ~]# ls
package.xml redis-4.3.0 redis-cluster-4.3.0.tgz
[root@redis64 ~]# cd redis-4.3.0/
[root@redis64 redis-4.3.0]# ls
arrays.markdown config.m4 INSTALL.markdown README.markdown redis.c redis_session.c
cluster_library.c config.w32 liblzf redis_array.c redis_cluster.c redis_session.h
cluster_library.h COPYING library.c redis_array.h redis_cluster.h tests
cluster.markdown crc16.h library.h redis_array_impl.c redis_commands.c
common.h CREDITS php_redis.h redis_array_impl.h redis_commands.h
[root@redis64 redis-4.3.0]# phpize # 获取php版本信息
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718
[root@redis64 redis-4.3.0]# ls
acinclude.m4 common.h COPYING ltmain.sh redis_array_impl.c redis_session.h
aclocal.m4 config.guess crc16.h Makefile.global redis_array_impl.h run-tests.php
arrays.markdown config.h.in CREDITS missing redis.c tests
autom4te.cache config.m4 INSTALL.markdown mkinstalldirs redis_cluster.c
build config.sub install-sh php_redis.h redis_cluster.h
cluster_library.c configure liblzf README.markdown redis_commands.c
cluster_library.h configure.ac library.c redis_array.c redis_commands.h
cluster.markdown config.w32 library.h redis_array.h redis_session.c
[root@redis64 redis-4.3.0]# ls /usr/bin/php
php php-cgi php-config phpize
[root@redis64 redis-4.3.0]# ls /usr/bin/php-config
/usr/bin/php-config
[root@redis64 redis-4.3.0]# cat /usr/bin/php-config
[root@redis64 redis-4.3.0]# ./configure --help | grep php
--with-php-config=PATH Path to php-config php-config
[root@redis64 redis-4.3.0]# ./configure --with-php-config=/usr/bin/php-config
----------------------------------------------------------------------
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/lib64/php/modules/
[root@redis64 redis-4.3.0]# ls /usr/lib64/php/modules/
bz2.so ctype.so exif.so ftp.so iconv.so redis.so tokenizer.so
calendar.so curl.so fileinfo.so gettext.so phar.so sockets.so
[root@redis64 redis-4.3.0]# php -m | grep -i redis
调用模块
编写php脚本 连接redis服务存储数据
存储数据脚本 s.php
查看数据脚本 g.php
[root@redis64 ~]# tar -xf redis-cluster-4.3.0.tgz
[root@redis64 ~]# ls
package.xml redis-4.3.0 redis-cluster-4.3.0.tgz
[root@redis64 ~]# cd redis-4.3.0/
[root@redis64 redis-4.3.0]# ls
arrays.markdown config.m4 INSTALL.markdown README.markdown redis.c redis_session.c
cluster_library.c config.w32 liblzf redis_array.c redis_cluster.c redis_session.h
cluster_library.h COPYING library.c redis_array.h redis_cluster.h tests
cluster.markdown crc16.h library.h redis_array_impl.c redis_commands.c
common.h CREDITS php_redis.h redis_array_impl.h redis_commands.h
[root@redis64 redis-4.3.0]# phpize # 获取php版本信息
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718
[root@redis64 redis-4.3.0]# ls
acinclude.m4 common.h COPYING ltmain.sh redis_array_impl.c redis_session.h
aclocal.m4 config.guess crc16.h Makefile.global redis_array_impl.h run-tests.php
arrays.markdown config.h.in CREDITS missing redis.c tests
autom4te.cache config.m4 INSTALL.markdown mkinstalldirs redis_cluster.c
build config.sub install-sh php_redis.h redis_cluster.h
cluster_library.c configure liblzf README.markdown redis_commands.c
cluster_library.h configure.ac library.c redis_array.c redis_commands.h
cluster.markdown config.w32 library.h redis_array.h redis_session.c
[root@redis64 redis-4.3.0]# ls /usr/bin/php
php php-cgi php-config phpize
[root@redis64 redis-4.3.0]# ls /usr/bin/php-config
/usr/bin/php-config
[root@redis64 redis-4.3.0]# cat /usr/bin/php-config
[root@redis64 redis-4.3.0]# ./configure --help | grep php
--with-php-config=PATH Path to php-config php-config
[root@redis64 redis-4.3.0]# ./configure --with-php-config=/usr/bin/php-config
----------------------------------------------------------------------
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/lib64/php/modules/
[root@redis64 redis-4.3.0]# ls /usr/lib64/php/modules/
bz2.so ctype.so exif.so ftp.so iconv.so redis.so tokenizer.so
calendar.so curl.so fileinfo.so gettext.so phar.so sockets.so
[root@redis64 redis-4.3.0]# php -m | grep -i redis
[root@redis64 redis-4.3.0]# vim /etc/php.ini
[root@redis64 redis-4.3.0]# php -m | grep -i redis
redis
[root@redis64 redis-4.3.0]# systemctl restart php-fpm.service
[root@redis64 redis-4.3.0]# vim /usr/local/nginx/html/s.php
<?php
$redis = new redis();
$redis->connect("127.0.0.1", "6364");
$redis->auth("123456");
$redis->set("class","nsd2310");
echo "save ok\n";
?>
[root@redis64 redis-4.3.0]# redis-cli -h 127.0.0.1 -p 6364 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6364> keys *
(empty list or set)
127.0.0.1:6364> exit
[root@redis64 redis-4.3.0]# curl http://localhost/s.php
save ok
[root@redis64 redis-4.3.0]# cat /usr/local/nginx/html/test.php
<?php
$i = 100 ;
echo $i ;
echo "\n" ;
?>
[root@redis64 redis-4.3.0]# redis-cli -h 127.0.0.1 -p 6364 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6364> keys *
1) "class"
127.0.0.1:6364> get class
"nsd2310"
127.0.0.1:6364>
127.0.0.1:6364> exit
[root@redis64 redis-4.3.0]# vim /usr/local/nginx/html/g.php
[root@redis64 redis-4.3.0]# curl http://localhost/g.php
[root@redis64 redis-4.3.0]# cat /usr/local/nginx/html/g.php
<?php
$redis = new redis();
$redis->connect("127.0.0.1", "6364");
$redis->auth("123456");
echo $redis->get("class");
echo "\n";
?>
[root@redis64 redis-4.3.0]# vim /usr/local/nginx/html/g.php
[root@redis64 redis-4.3.0]# curl http://localhost/g.php
nsd2310
[root@redis64 redis-4.3.0]# redis-cli -h 127.0.0.1 -p 6364 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6364> set class nsd2311
OK
127.0.0.1:6364> exit
[root@redis64 redis-4.3.0]# curl http://localhost/g.php
nsd2311
[root@redis64 redis-4.3.0]
部署redis集群 给网站提供数据存储服务,解决如下问题
redis服务单点故障
数据的自动备份
数据存储的速度和存储不足的问题
准备6台redis服务器做集群
51 52 53 54 55 56
]# yum -y install redis # 安装软件
]# vim /etc/redis.conf # 修改主配置文件夹
92 port 6379 # 端口号
69 bind 192.168.88.51 # IP地址
838 cluster-enabled yes # 启用集群功能
846 cluster-config-file nodes-6379.conf # 存储集群信息文件
852 cluster-node-timeout 5000 # 集群中主机通信超时时间
]# systemctl start redis
]# netstat -utnlp | grep redis-serve
tcp 0 0 192.168.88.51:6379 0.0.0.0:* LISTEN 21201/redis-serve
tcp 0 0 192.168.88.51:16379 0.0.0.0:* LISTEN 21201/redis-serve # 集群端口
创建集群
在 51~56 任意一台服务器上执行创建集群的命令都可以
--cluster-replicas 1 给每个master服务器分配一台slave服务器,每个主至少要分配1台slave服务器,不然无法实现redis服务的高可用
创建集群时,会自动创建主从角色,默认把主机列表中的前3台服务器创建为Master角色的redis服务器,剩下的均配置为slave角色服务器
创建集群时,会自动给master角色的主机分配hash槽 ,通过hash槽实现数据的分布式存储
查看命令帮助
[root@Host51 ~]# redis-cli --cluster help
创建集群
[root@Host51 ~]# redis-cli --cluster create 192.168.88.51:6379 192.168.88.52:6379 192.168.88.53:6379 192.168.88.54:6379 192.168.88.55:6379 192.168.88.56:6379 --cluster-replicas 1
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.88.54:6379 to 192.168.88.51:6379
Adding replica 192.168.88.55:6379 to 192.168.88.52:6379
Adding replica 192.168.88.56:6379 to 192.168.88.53:6379
M: 0ceaf74c80061a9cf8075ebae1361ae579f113bd 192.168.88.51:6379
slots:[0-5460] (5461 slots) master
M: beedff7f08f050499112d7b032ebdcc991dcaeab 192.168.88.52:6379
slots:[5461-10922] (5462 slots) master
M: 0b2841b7fdb173b3f74bf5a75d01ef31ae451e07 192.168.88.53:6379
slots:[10923-16383] (5461 slots) master
S: 0e2e8ea308d98961c6277dd772d3fce9730333ca 192.168.88.54:6379
replicates 0ceaf74c80061a9cf8075ebae1361ae579f113bd
S: f6ac666e65d328b1950cd7665a6dc64aadf5c3ac 192.168.88.55:6379
replicates beedff7f08f050499112d7b032ebdcc991dcaeab
S: 91d50cfc022f607ef11944e406028ba7cfba459c 192.168.88.56:6379
replicates 0b2841b7fdb173b3f74bf5a75d01ef31ae451e07
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
...
>>> Performing Cluster Check (using node 192.168.88.51:6379)
M: 0ceaf74c80061a9cf8075ebae1361ae579f113bd 192.168.88.51:6379
slots:[0-5460] (5461 slots) master
1 additional replica(s)
M: 0b2841b7fdb173b3f74bf5a75d01ef31ae451e07 192.168.88.53:6379
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: 91d50cfc022f607ef11944e406028ba7cfba459c 192.168.88.56:6379
slots: (0 slots) slave
replicates 0b2841b7fdb173b3f74bf5a75d01ef31ae451e07
S: 0e2e8ea308d98961c6277dd772d3fce9730333ca 192.168.88.54:6379
slots: (0 slots) slave
replicates 0ceaf74c80061a9cf8075ebae1361ae579f113bd
M: beedff7f08f050499112d7b032ebdcc991dcaeab 192.168.88.52:6379
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: f6ac666e65d328b1950cd7665a6dc64aadf5c3ac 192.168.88.55:6379
slots: (0 slots) slave
replicates beedff7f08f050499112d7b032ebdcc991dcaeab
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
查看统计信息
[root@Host51 ~]# redis-cli --cluster info 192.168.88.52:6379
192.168.88.52:6379 (beedff7f...) -> 0 keys | 5462 slots | 1 slaves.
192.168.88.53:6379 (0b2841b7...) -> 0 keys | 5461 slots | 1 slaves.
192.168.88.51:6379 (0ceaf74c...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
查看详细信息
[root@Host51 ~]# redis-cli --cluster check 192.168.88.52:6379
192.168.88.52:6379 (beedff7f...) -> 0 keys | 5462 slots | 1 slaves.
192.168.88.53:6379 (0b2841b7...) -> 0 keys | 5461 slots | 1 slaves.
192.168.88.51:6379 (0ceaf74c...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.88.52:6379)
M: beedff7f08f050499112d7b032ebdcc991dcaeab 192.168.88.52:6379
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
M: 0b2841b7fdb173b3f74bf5a75d01ef31ae451e07 192.168.88.53:6379
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: 0e2e8ea308d98961c6277dd772d3fce9730333ca 192.168.88.54:6379
slots: (0 slots) slave
replicates 0ceaf74c80061a9cf8075ebae1361ae579f113bd
S: 91d50cfc022f607ef11944e406028ba7cfba459c 192.168.88.56:6379
slots: (0 slots) slave
replicates 0b2841b7fdb173b3f74bf5a75d01ef31ae451e07
S: f6ac666e65d328b1950cd7665a6dc64aadf5c3ac 192.168.88.55:6379
slots: (0 slots) slave
replicates beedff7f08f050499112d7b032ebdcc991dcaeab
M: 0ceaf74c80061a9cf8075ebae1361ae579f113bd 192.168.88.51:6379
slots:[0-5460] (5461 slots) master
1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
查看保存集群信息
[root@Host51 ~]# cat /var/lib/redis/nodes-6379.conf
0ceaf74c80061a9cf8075ebae1361ae579f113bd 192.168.88.51:6379@16379 myself,master - 0 1705887242000 1 connected 0-5460
0b2841b7fdb173b3f74bf5a75d01ef31ae451e07 192.168.88.53:6379@16379 master - 0 1705887242000 3 connected 10923-16383
91d50cfc022f607ef11944e406028ba7cfba459c 192.168.88.56:6379@16379 slave 0b2841b7fdb173b3f74bf5a75d01ef31ae451e07 0 1705887242129 6 connected
0e2e8ea308d98961c6277dd772d3fce9730333ca 192.168.88.54:6379@16379 slave 0ceaf74c80061a9cf8075ebae1361ae579f113bd 0 1705887242630 4 connected
beedff7f08f050499112d7b032ebdcc991dcaeab 192.168.88.52:6379@16379 master - 0 1705887241528 2 connected 5461-10922
f6ac666e65d328b1950cd7665a6dc64aadf5c3ac 192.168.88.55:6379@16379 slave beedff7f08f050499112d7b032ebdcc991dcaeab 0 1705887241628 5 connected
vars currentEpoch 6 lastVoteEpoch 0
使用数据库命令查看集群信息
[root@Host51 ~]# redis-cli -h 192.168.88.52
192.168.88.52:6379> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:2
cluster_stats_messages_ping_sent:1158
cluster_stats_messages_pong_sent:1162
cluster_stats_messages_meet_sent:5
cluster_stats_messages_sent:2325
cluster_stats_messages_ping_received:1162
cluster_stats_messages_pong_received:1163
cluster_stats_messages_received:2325
192.168.88.52:6379>
测试集群
解决redis服务单点故障
master角色的主机宕机后对应的slave会自动升级为master
master角色的主机恢复后会自动做slave角色的主机
[root@Host51 ~]# redis-cli --cluster info 192.168.88.52:6379
192.168.88.52:6379 (beedff7f...) -> 0 keys | 5462 slots | 1 slaves.
192.168.88.53:6379 (0b2841b7...) -> 0 keys | 5461 slots | 1 slaves.
192.168.88.51:6379 (0ceaf74c...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
[root@Host53 ~]# systemctl stop redis
[root@Host53 ~]# ss -ntulp | grep redis-server
[root@Host53 ~]#
[root@Host51 ~]# redis-cli --cluster info 192.168.88.52:6379
Could not connect to Redis at 192.168.88.53:6379: Connection refused
192.168.88.52:6379 (beedff7f...) -> 0 keys | 5462 slots | 1 slaves.
192.168.88.56:6379 (91d50cfc...) -> 0 keys | 5461 slots | 0 slaves.
192.168.88.51:6379 (0ceaf74c...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
[root@Host53 ~]# systemctl start redis
[root@Host53 ~]# ss -ntulp | grep redis-server
tcp LISTEN 0 128 192.168.88.53:16379 0.0.0.0:* users:(("redis-server",pid=818,fd=8))
tcp LISTEN 0 128 192.168.88.53:6379 0.0.0.0:* users:(("redis-server",pid=818,fd=6))
[root@Host51 ~]# redis-cli --cluster info 192.168.88.52:6379
192.168.88.52:6379 (beedff7f...) -> 0 keys | 5462 slots | 1 slaves.
192.168.88.56:6379 (91d50cfc...) -> 0 keys | 5461 slots | 1 slaves.
192.168.88.51:6379 (0ceaf74c...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
[root@Host51 ~]# redis-cli --cluster check 192.168.88.52:6379
192.168.88.52:6379 (beedff7f...) -> 0 keys | 5462 slots | 1 slaves.
192.168.88.56:6379 (91d50cfc...) -> 0 keys | 5461 slots | 1 slaves.
192.168.88.51:6379 (0ceaf74c...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.88.52:6379)
M: beedff7f08f050499112d7b032ebdcc991dcaeab 192.168.88.52:6379
slots:[5461-10922] (5462 slots) master
1 additional replica(s)
S: 0b2841b7fdb173b3f74bf5a75d01ef31ae451e07 192.168.88.53:6379
slots: (0 slots) slave
replicates 91d50cfc022f607ef11944e406028ba7cfba459c
S: 0e2e8ea308d98961c6277dd772d3fce9730333ca 192.168.88.54:6379
slots: (0 slots) slave
replicates 0ceaf74c80061a9cf8075ebae1361ae579f113bd
M: 91d50cfc022f607ef11944e406028ba7cfba459c 192.168.88.56:6379
slots:[10923-16383] (5461 slots) master
1 additional replica(s)
S: f6ac666e65d328b1950cd7665a6dc64aadf5c3ac 192.168.88.55:6379
slots: (0 slots) slave
replicates beedff7f08f050499112d7b032ebdcc991dcaeab
M: 0ceaf74c80061a9cf8075ebae1361ae579f113bd 192.168.88.51:6379
slots:[0-5460] (5461 slots) master
1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
数据的自动备份
slave角色主机自动同步master角色主机数据
数据分布式存储
连接集群 存储的多个变量 不是存储在一台redis服务里 而是根据集群crc16 算法的计算结果存储数据 根据算法的计算结果把数据分别存储在集群的master角色主机上
连接集群的命令
redis-cli -c -h 51~56的ip -p 6379
集群存储数据的工作过程
根据算法的计算结果把数据分别存储在集群的master角色主机上
编写php脚本 连接集群
存储数据
[root@redis64 ~]# ss -ntulp | grep 80
[root@redis64 ~]# ss -ntulp | grep 9000
[root@redis64 ~]# php -m | grep -i redis
[root@redis64 ~]# vim /usr/local/nginx/html/s1.php
<?php
$redis_list = ['192.168.88.51:6379','192.168.88.52:6379','192.168.88.53:6379','192.168.88.54:6379','192.168.88.55:6379','192.168.88.56:6379'];
$client = new RedisCluster(NUll,$redis_list);
$client->set("i","tarenaA ");
$client->set("j","tarenaB ");
$client->set("k","tarenaC ");
echo "save ok\n";
?>
查询数据
[root@redis64 ~]# cp /usr/local/nginx/html/s1.php /usr/local/nginx/html/g1.php
[root@redis64 ~]# vim /usr/local/nginx/html/g1.php
<?php
$redis_list = ['192.168.88.51:6379','192.168.88.52:6379','192.168.88.53:6379','192.168.88.54:6379','192.168.88.55:6379','192.168.88.56:6379'];
$client = new RedisCluster(NUll,$redis_list);
echo $client->get("i");
echo $client->get("j");
echo $client->get("k");
?>
[root@redis64 ~]# curl http://localhost/s1.php
save ok
[root@redis64 ~]# curl http://localhost/g1.php
tarenaA tarenaB tarenaC [root@redis64 ~]#
连接redis集群主机查看存储的数据
[root@Host51 ~]# redis-cli --cluster info 192.168.88.51:6379
192.168.88.51:6379 (0ceaf74c...) -> 2 keys | 5461 slots | 1 slaves.
192.168.88.56:6379 (91d50cfc...) -> 1 keys | 5461 slots | 1 slaves.
192.168.88.52:6379 (beedff7f...) -> 2 keys | 5462 slots | 1 slaves.
[OK] 5 keys in 3 masters.
0.00 keys per slot on average.
[root@Host51 ~]# redis-cli -c -h 192.168.88.51 -p 6379
192.168.88.51:6379> keys *
1) "age"
2) "j"
192.168.88.51:6379> get j
"tarenaB "
192.168.88.51:6379>
[root@Host51 ~]# redis-cli -c -h 192.168.88.52 -p 6379
192.168.88.52:6379> keys *
1) "name"
2) "k"
192.168.88.52:6379> get k
"tarenaC "
192.168.88.52:6379>
[root@Host51 ~]# redis-cli -c -h 192.168.88.56 -p 6379
192.168.88.56:6379> keys *
1) "i"
192.168.88.56:6379> get i
"tarenaA "
192.168.88.56:6379>