redis 批量删除_redis安装与伪分布式集群

本文介绍了Redis和Memcache在动态数据缓存中的应用,对比了两者特性,如Redis支持数据持久化而Memcache不支持。详细阐述了Redis的安装、常用命令以及PHP的Redis扩展安装。同时,讲解了Redis集群的搭建,包括节点创建、主从复制、槽点分配和节点管理。最后,提到了Redis群集的高可用性和故障转移机制。
摘要由CSDN通过智能技术生成

1bef8a0fc38c81e474fe8571d4b1f9d7.png

缓存动态数据

redis: 基于键值对存储数据非关系型数据库,可以用来当做动态数据缓存服务器--内存,支持数据持久化

memcahce: --不支持数据持久化

实验环境

6a171db0a8c8e864f754756f213c3b7d.png

一台LNMP 192.168.10.3

解压软件到/usr/loca名为redis

tar -zxvf redis-4.0.6.tar.gz -C /usr/local/redis

有makefile文件可以直接安装

make && make install

修改配置文件redis.conf

启动redis

redis-server redis.conf

连接redis数据库

redis-cil -p 6379 -h 192.168.10.3

f49b1c625df50ec1f5fcba88696e44c7.png

redis 常用的命令

select :redis默认有16个数据库编号0-15

select:切换数据库

set :创建键值对,如果键值对存在则覆盖键值对

get:获取指定键对应的值

mset:批量创建键值对

mget:批量获得键值对

del:删除键值对

append:对指定建的值的内容进行追加

move:键值对进行迁移

keys* 批量查看键值对

flushall:清空数据库中的所有键值对

解压phpredis-master.zip

unzip phpredis-master.zip

生成configurl文件

phpize

生成makfile文件

./configure --enable-resid --with-php-config=/usr/local/php/bin/php-config

编译安装

make && make install

查看是否安装成功

ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/

redis.so

55f3783160b448a2e929a26a8c956df0.png

service php-fpm restart 重启PHP

127.0.0.1/index.php 网页验证

vim /usr/local/php/php.ini

mysql -u root http://-p123.com 进入数据库

grant all on *.* to "root"@"192.168.10.2" identified by "http://123.com"; 授权

create databases haha; 创建库

use haha 进入库

create table test (id int,name char(20)); 创建表

insert into test values (1,"one"),(2,"two"),(3,"three"); 添加数据

exit

<?php

$redis=new Redis;

$resid->connect(“192.168.10.3”,”6379”) or die (“could not connect redis~~~”);

$query=“select * from abc.test limit 5;”;

for ($key=1; $key<=5; $++ ) {

if (! $redis->get ($key)){

$name=”mysql”;

$conn=mysql_connect( “192.168.10.3”,”root”,”123.com” );

$result=mysql_puery($puery);

while ($row=mysql_fetch_assoc($result)) {

$redis->set( $row[ “id” ], $row[ “name” ] );

}

break;

}

else{

$name=”resid”;

$data[$key]=$redis->get($key);

}

echo $name;

echo “</br>”;

for ($key=1;$key<=5;$key++) {

echo "id is $key";

ehco "</br>";

ehco "name is $data[$key]";

ehco "</br>";

}

?>

##redis群集

#redis群集中的节点可以互通,通过总线端口来通信,总线端口于redis对位提供服务端口偏移量固定为10000

#去中心化,客户端可以于任意一台redis节点相连,当客户端请求的数据不再他所连接的redis节点上时,该redis节点会将数据所在的节点ip和端口返回客户端,客户端进行新的连接并对该节点的数据进行操作

#节点之间平均分配哈希槽中的槽点,一共16384个,取值范围为0-16383,当有键值对被写入和读取时,先对键进行CRC16计算,得到的值在对16384进行取余,最终结果判断数据哪台redisi节点的槽点范围,就将数据写入到该节点或者从节点读取数据

#redis支持主从复制,一台直接点可以有多台从节点,主节点提供服务,从节点不工作,当主节点故障时,会从它的从节点中随机选取一台作为新的主节点来工作

#redis群集有投票机制,当半数以上的节点认为某一台节点不可用时,则该节点会被标记为不可用,如果该接待你没有从节点,则整个集群不可使用。

实验环境

一台基础环境部署redis伪分布式群集

1ce190ee154a1247679487d2fe2117aa.png

8ca3a4a3ac7970afc79ffe35368fea77.png

复制

dfe1c7ea0ac45d0c22ac5e62e4b21eaa.png

更改端口号:

fa6975d11e6fad9261976c363a7d427d.png

安装ruby

yum -y install ruby

直接安装

gem install redis-3.3.0.gem

优化路径

ln -s /usr/local/redis/src/redis-trib.rb /usr/bin/

创建节点从主

redis-trib.rb create --replicas 1 192.168.10.3:7000 192.168.10.3:7001 192.168.10.3:7002 192.168.10.3:7003 192.168.10.3:7004 192.168.10.3:7005

redis-trib.rb check 192.168.10.3:7000

登录

redis-cil -h 192.168.10.3 -p 7000 -c

主从切换

kill杀死7000进程

查看节点

redis-trib.rb check 192.168.10.3:7001

添加,删除节点。

添加三个进程

添加从节点

redis-trib.rb add-node --slave要添加的节点192.168.10.3:7006 192.168.10.3:7001

添加主节点

redis-trib.rb add-node 要添加的节点192.168.10.3:7007 192.168.10.3:7001

槽点分配

redis-trib.rb reshard 192.168.10.3.7001

分配多少槽点4096

复制node-id粘贴

yes

删除节点

redis-trib.rb del-node 192.168.10.3:7001 要删除节点的node-d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值