Redis群集

数据库根据结构可分为关系型数据库与非关系型数据库
(1)关系型数据库
关系型数据库是一个结构化的数据库,创建在关系模型基础上,一般面向记录 它借助于集合代数等数学概念和方法来处理数据库中的数据, SOL (Structured Query Language,结构化查询语言)语句就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。主流的关系型数据库包括Oracle, MySOL. SQL Server, Microsoft Access. DB2等.
(2)非关系型数据库
NOSQL (NSGL = Not Only SaL),意思是‘不仅仅是SaL",是非关系型数据库的总称。主流的NoSaL数据库有Redis. MongBD. Hbase. CounDB等。以上这些数据库,它们的存储方式、存储结构以及使用的场景都是完全不同的,换言之,主流的关系型数据库以外的数据库,都是非关系型的。 NosaL数据库凭借着其非关系型、分布式、开源和横向扩展等优势,被认为是下一代数据库产品
1.Redis 简介
Redis是一个开源的、使用C语言编写、支持网络、可基于内存亦可持久化的日志型. key-value(键值对)数据库,是目前分布式架构中不可或缺的一环。Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,而Redis的实际处理速度则完全依靠于主进程的执行效率。
Redis的几个优点:
(1)具有极高的数据读写速度,数据读取的速度最高可达到110000次/s,数据写入速度最高可达到81000次/s。
(2)支持丰富的数据类型,不仅仅支持简单的key-value数据类型,还支持Strings. Lists. HashesSets 及Ordered Sets等数据类型操作。
(3)支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
(4)原子性, Redis所有操作都是原子性的。
(5)支持数据备份,即master-salve模式的数据备份。
Redis作为基于内存运行的数据库,缓存是其较常应用的场景之一,除此之外. Redis 常见应用场景还包括获取最新N个数据 的操作、排行榜类应用、计数器应用、存储关系、实时分析系统、日志记录等。Redis官网(https://www.redis.io)
2.Redis安装部署
部署环境:
系统 :centos 7.3 软件 : redis-3.2.19.tar.gz , redis-3.2.0 安装gcc gcc-c++ 六台服务器:三主,三从 (同一网段)
在每一台服务器上安装redis,并修改配置文件如下图,注意修改时只有IP不同
(服务器ip:192.168.50.101)
tar zxf redis-3.2.19.tar.gz -C /usr/src
cd /usr/src/ redis-3.2.19/
make && make install
Redis群集_第1张图片
cd /usr/src/redis-3.2.19/utils/
./install_server.sh //redis启动脚本
netstat -anpt |grep redis
3.修改配置文件
在每台服务器上都要安装
主配置文件:/etc/redis/6379.conf
vim /etc/redis/6379.conf更改
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
Redis群集_第2张图片
/etc/init.d/redis_6379 restart //如报错rm -rf /var/run/redis_6379.pid
/etc/init.d/redis_6379 start //开启成功
netstat -anpt |grep 6379 //查看端口发现6379,16379端口均在
设置(服务器ip:192.168.50.102)的安装及配置文件的修改跟192.168.50.100的步骤一样,注意修改配置文件时IP是本地的
Redis群集_第3张图片
设置(服务器ip:192.168.50.103)的安装及配置文件的修改跟192.168.50.100的步骤一样,注意修改配置文件时IP是本地的
Redis群集_第4张图片
设置(服务器ip:192.168.50.104)的安装及配置文件的修改跟192.168.50.100的步骤一样,注意修改配置文件时IP是本地的
在这里插入图片描述
设置(服务器ip:192.168.50.105)的安装及配置文件的修改跟192.168.50.100的步骤一样,注意修改配置文件时IP是本地的
Redis群集_第5张图片
设置(服务器ip:192.168.50.106)的安装及配置文件的修改跟192.168.50.100的步骤一样,注意修改配置文件时IP是本地的
Redis群集_第6张图片
使用脚本创建群集
创建群集需要一个ruby脚本,在创建前先安装ruby的运行环境和ruby的redis客户端,该操作在其中一台上运行即可
(服务器ip:192.168.50.101)
yum -y install ruby rubygems
gem install redis --version 3.2.0
使用脚本创建群集
cd /usr/src/redis-3.2.9/src
./redis-trib.rb create --replicas 1 192.168.50.101:6379 192.168.50.102:6379 192.168.50.103:6379 192.168.50.104:6379 192.168.50.105:6379 192.168.50.106:6379(出现以下)
Redis群集_第7张图片
./redis-trib.rb check 192.168.50.101:6379 //查看群集状态
Redis群集_第8张图片
测试群集
登录redis群集,设置键测试,这里需要跟"-c"参数来激活群集模式
redis-cli -h 192.168.50.106 -p 6379 -c
set centos 7.3
get centos
quit
Redis群集_第9张图片
上述看到登录的是群集中任意一台服务器,当创建键值时,重定向到其他服务器上,是按照slot分配
Redis命令工具
Redis软件提供了多个命令工具,当Redis安装时,所包含的软件工具会同时被安装到系统中,在系统中可以直接使。这些命令工具的作用分别如下所示
redis-server; 用于启动Redis的工具
redis-benchmark:用于检测Redis在本机的运行效率
redis-check-of: 修复AOF持久化文件
redis-check-rdb: 修复RDB持久化文件
redis-cli: Redis命令行工具
redis-setinel: redis-server 文件的软链接
redis-benchmark测试工具
redis-benchmark是官方自带的Redis性能测试工具,可以有效地测试Redis服务的性能。基本的测试语法为redis-benchmark [option] [option valuel.常用选项如下所示.
-h:指定服务器主机名
-p:指定服务器端口
-s:指定服务器socket.
-c:指定并发连接数
-n:指定请求数
-d:以字节(B)的形式指定SET/GET值的数据大小
-k: 1=keep alive O=reconnect
-r: SET/GET/INCR使用随机key, SADD使用随机值
-P: 通过管道传输 请求
-q:强制退出redis.仅显示 query/sc 值
–csv:以CSV格式输出
-l:生成循环,永久执行测试
-t:仅运行以逗号分隔的测试命令列表
-i:ldle模式。仅打开N个idle连接并等待

你可能感兴趣的:(Redis群集)