Redis集群搭建

Redis集群搭建

Redis数据库常用命令

  • Redis-benchmark测试工具

作用:可以有效的测试redis服务的性能
相关参数:
-h:指定服务器主机名
-p:指定服务器端口
-c:指定并发连接数
-n:指定请求数
-d:以字节的形式指定SET/GET值的数据大小
-q:强制退出Redis,仅显示query/sec值

Redis压测展示

[root@client1 ~]# redis-benchmark -h 20.0.0.10 -p 6379 -c 100 -n 100
写入速度
在这里插入图片描述
读取速度
在这里插入图片描述
[root@client1 ~]# redis-benchmark -h 20.0.0.10 -p 6379 -q -d 100 //以字节形式指定set/get值的数据大小,同样仅展示部分结果’
在这里插入图片描述

key相关命令

keys:获取符合规则的键值列表
exists:判断键值是否存在
del:删除当前数据库的指定key
type:获取key对应的value值类型
rename(覆盖)l renamenx(不覆盖):对已有的key进行重命名
dbsize:查看当前数据库中key的数目

key相关命令展示

[root@client1 ~]# redis-cli -h 20.0.0.10 -p 6379

20.0.0.10:6379> help set 
20.0.0.10:6379> set userame abc
OK
20.0.0.10:6379> keys *
1) "centos"
2) "ee"
3) "ggg"
4) "mylist"
5) "centos2"
6) "userame"
7) "lll"
8) "rrr"
20.0.0.10:6379> keys u??????
1) "userame"

20.0.0.10:6379> set use abc
OK
20.0.0.10:6379> keys u??
1) "use"
20.0.0.10:6379> exists use'//查看use是否存在'
(integer) 1 

20.0.0.10:6379> del use  /删除use键'
(integer) 1
20.0.0.10:6379> keys *
1) "ee"
2) "centos2"
3) "centos"
4) "ggg"
5) "mylist"
6) "lll"
7) "userame"
8) "rrr"

Redis多数据库操作

1、Redis支持多数据库,默认支持16个数据库,0-15命名
2、多数据库相互独立,互不干扰
3、多数据库常用命令
(1)多数据库间切换
(2)多数据库间移动数据
(3)清除数据库内数据

Redis服务优化

Redis持久化
概述
1、Redis是运行在内存中,断电会丢失内存中的数据
2、为了能后重用Redis数据,或者防止系统故障,我们需要将Redis中的数据写入到磁盘空间中,即持久化
持久化分类
RDB方式:创建快照的方式获取某一时刻Redis中所有数据的副本
AOF方式:将执行的写命令写到文件的末尾,以日志的方式来记录数据的变化
RDB持久化
1、是Redis默认的持久化方式
2、默认文件名为dump.rdb
在这里插入图片描述

3、触发条件
(1)在指定的时间间隔内,执行指定次数的写操作(配置文件控制)
(2)执行save或者是bgsave(异步)命令
(3)执行flushall命令,清空数据库所有数据
(4)执行shutdown命令,保证服务器正常关闭且不丢失任何数据
4、优缺点
(1)适合大规模的数据恢复
(2)如果业务对数据完整性和一致性要求不高,RDB是很好的选择
(3)数据的完整性和一致性不高
(4)备份时占用内存
5、通过RDB文件恢复数据
将dump.rdb文件拷贝到redis的安装目录的bin目录下,重启redis服务即可
6、配置RDB持久化
[root@client1 6379]# vim /etc/redis/6379.conf

在这里插入图片描述
save 900 1 ‘//900秒之内至少一次写操作’
save 300 10 ‘//300秒内至少10次写操作’
save 60 10000 ‘//60秒内至少10000次写操作’
‘//只要满足其一都会触发快照操作,注释所有的save项表示关闭RDB’
dbfilename dump.rdb ‘//RDB文件名称’
dir /var/lib/redis/6379 ‘//RDB文件路径’
rdbcompression yes ‘//开启了压缩功能’

AOF持久化

1、Redis默认不开启
2、优缺点
(1)弥补RDB的不足(数据的不一致性)
(2)采用日志的形式来记录每个写操作,并追加到文件中
(3)Redis重启会根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作
3、根据AOF文件恢复数据
将appendonly.aof文件拷贝到redis安装目录的bin目录下,重启redis服务即可
4、配置AOF持久化
[root@client1 6379]# vim /etc/redis/6379.conf
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

appendonly no	'//修改为yes即可开启AOF持久化'
appendfilename "appendonly.aof"	'//AOF文件名称'
\# appendfsync always	'//always:同步持久化,每次发生数据变化会立刻写入磁盘'
appendfsync everysec	'//everysec:默认推荐,每秒异步记录次(默认值)'
\# appendfsync no	'//no:不同步,交给操作系统决定如何同步'
'//取消注释的时候注意前方空格,一定要删掉'
aof-load-truncated yes	'//忽略最后一条可能存在问题的指令'

AOF重写机制
1、概述
(1)AOF的工作原理是将写操作追加到文件中,文件的冗余内容会越来越多
(2)当AOF文件的大小超过所设定的阀值时,Redis就会对AOF文件的内容压缩
2、原理
Redis会fork出一条新进程,读取内存中的数据(并没有读取旧文件),并重新写到一个临时文件中,最后替换旧的aof文件
3、配置AOF重写
[root@client1 6379]# vim /etc/redis/6379.conf

no-appendfsync-on-rewrite no	'//在日志进行BGREWRITEAOF时, 如果设置为yes表示新写操作不进行同步fsync,只暂存在缓冲区里,避免造成磁盘I0操作冲突,等重写完成后在写入。redis中默认为no'
auto-aof-rewrite-percentage 100	'//当前AOF文件大小是上次日志重写时AOF文件大小两倍时,发生BGREWRITEAOF操作'
auto-aof-rewrite-min-size 64mb	'//当前AOF文件执行BGREWRITEAOF命令的最小值,避免刚开始启动Reids时由于文件尺寸较小

Redis性能管理

查看Redis内存使用
[root@client1 6379]# redis-cli -h 20.0.0.10 -p 6379
20.0.0.10:6379> info memory
内存使用率
在这里插入图片描述
内存碎片率在这里插入图片描述

Redis群集

  • Redis集群介绍

1、Redis集群是一个提供在多个Redis间节点间共享数据的程序集
2、Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误
3、Redis集群通过分区来提供一定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下可继续处理命令

  • Redis集群的优势

1、自动分割数据到不同的节点上
2、整个集群的部分节点失败或者不可达的情况下能够继续处理命令

配置Redis群集

systemctl stop firewalld
setenforce 0
tar zxvf redis-5.0.4.tar.gz 
cd redis-5.0.4/
make
make install PREFIX=/usr/local/redis
ln -s /usr/local/redis/bin/* /usr/sbin/
cd utils/
 ./install_server.sh 
netstat -anpt | grep redis
cd
vi /etc/redis/6379.conf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
[root@client1 ~]# redis-cli --cluster create --cluster-replicas 1 20.0.0.10:6379 20.0.0.11:6379 20.0.0.12:6379 20.0.0.13:6379 20.0.0.14:6379 20.0.0.15:6379
在这里插入图片描述
建立了主从关系

[root@client1 6379]# redis-cli -h 20.0.0.10 -p 6379 -c
20.0.0.10:6379> set glt 123
-> Redirected to slot [11951] located at 20.0.0.12:6379
OK
20.0.0.12:6379>   // 创造的键值 是具有随机存入的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值