Redis群集非关系型数据库部署案例

  • redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted
    set
    –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

  • Redis 是一个高性能的key-value数据库。
    redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部
    分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便

  • Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
    redis的官网地址,非常好记,是redis.io。(域名后缀io属于国家域名,是british Indian Ocean
    territory,即英属印度洋领地)

一、关系数据库和非关系数据库
1、数据库的类型
1)关系数据库

存储结构化数据
采用二维表设计结构
使用二维表对数据经行组织和管理
关系数据库使用SQL结构化操作语言管理
2)非关系数据库
存储非结构化数据
2、常见的关系数据库和非关系数据库的类型
1)关系型数据库

Mysql
Sql Server
Oracle
DB2
Access
2)非关系型数据库
Redis
MonBD
Hbase
CouhDB
3、关系数据库和非关系数据库的区别
1)关系数据库特点

存储机构化数据
减小数据冗余
方便用户进行共享
增强安全性
不支持高并发稳定性差
2)非关系数据库特点
支持高并发读取写入
给用户提供高效访问服务
可扩展性强稳定性强
4、Redis的作用和优势
1)Redis的作用

支持对内存进行持续化数据存储
2)Redis的优势
开源
分布式设计结构
支持更多语言数据类型Java、String、Lists、Hashes
持续将内存数据保存到硬盘中
支持一主多备模式运行稳定性强

二.安装Redis和Redis工具的基本应用
1.安装和配置redis

使用rz命令从本地上传redis-3.2.9.tar.gz
软件包

(1)解压配置redis

[root@centos01 ~]# tar zxvf redis-3.2.9.tar.gz -C /usr/src/

[root@centos01 ~]# cd /usr/src

[root@centos01 src]# mv redis-3.2.9/ redis

[root@centos01 src]# cd redis/

[root@centos01 redis]# make

(2)安装redis

[root@centos01 redis]# make install

(3)初始化redis

[root@centos01 redis]# cd utils/

[root@centos01 utils]# ./install_server.sh

2、redis的管理工具
1)控制服务启动管理工具
redis-server
2)客户端连接redis工具
redis-cli
3)性能检测工具
redis-benchmark
4)修复AOF持续化文件
redis-check-aof
5)修复RDB持续化文件
redis-check-rdb
6)配置redis的软连接
redis-sentinel

3.启动和停止redis实例

(1)启动redis实例,监听默认端口号6379

[root@centos01 ~]# /etc/init.d/redis_6379 start

[root@centos01 ~]# netstat -anptu | grep redis在这里插入图片描述

(2)添加新的redis实例

[root@centos01 ~]# cp -rf /usr/src/redis /usr/src/redis01/

(3)修改新实例主配置文件守护进程运行修改监听端口

[root@centos01 ~]# vim /usr/src/redis01/redis.conf

port 6378

daemonize yes

(4)运行新实例的redis服务,使用kill停止服务

[root@centos01 ~]# redis-server /usr/src/redis01/redis.conf
在这里插入图片描述

4.redis客户端和性能测试工具使用

(1)redis客户端工具使用

登录到本地redis

[root@centos01 ~]# redis-cli

登录本地修改过端口的redis实例

[root@centos01 ~]# redis-cli -p 6378

登录到远程主机100.10的6379端口redis,修改默认监听端口

[root@centos01 ~]# vim /etc/redis/6379.conf

bind 192.168.100.10

[root@centos01 ~]# redis-cli -h 192.168.100.10 -p 6379

2)性能检测工具
-h:主机名或者IP
-p:端口
-s:服务器的socket
-c:指定并发连接数
-n:请求数量
-d:数值大小B
-r:使用随机数
-P:管道传输请求
-q:推出
–csv:使用csv格式输出
-l:循环测试
-t:逗号分隔测试命令

连接十次每次并发1000

[root@centos01 ~]# redis-benchmark -h 192.168.100.10 -p 6379 -c 10 -n 1000

测试存储数据大小

[root@centos01 ~]# redis-benchmark -h 192.168.100.10 -p 6379 -q -d 100

三.Redis数据库的管理和群集管理

1.创建数据库和获取值

(1)创建数据库benet赋值aaa

192.168.100.10:6379> set benet aaa

OK

(2)查看数据库的赋值

192.168.100.10:6379> get benet

“aaa”

(3)查看redis所有的值

192.168.100.10:6379> KEYS *

2-修改数据库和值

(1)
删除数据库

192.168.100.10:6379> del benet

(2)
修改数据库将accp库修改为ccc

192.168.100.10:6379> RENAME accp
ccc

OK

(3)
检查是否存在,返回值为1表示存在,为0表示不存在

192.168.100.10:6379> EXISTS ccc

(integer) 1

(4)
将ccc库修改为DD

192.168.100.10:6379> RENAMENX ccc
DD

(integer) 1

(5)
查看redis中的数据库

192.168.100.10:6379> DBSIZE

(6)
数据库之间的切换

192.168.100.10:6379> SELECT 5

OK

(7)
清空redis所有数据

192.168.100.10:6379> FLUSHALL

3.配置redis群集

(1)安装群集依赖软件

[root@centos01 ~]# yum -y install rubygems
ruby

(2)修改主配置文件支持群集,先使用kill停止服务

[root@centos01 ~]# vim /etc/redis/6379.conf

bind 192.168.100.10 监听IP地址

port 6379 监听端口

daemonize yes 守护进程运行

logfile /var/log/redis_6379.log redis日志

cluster-enabled yes 启用群集功能

cluster-config-file nodes-6379.conf 群集配置文件

cluster-node-timeout 15000 群集超时时间

cluster-require-full-coverage no

启动服务,监听端口号,查看群集端口号,使用kill杀死

[root@centos01 ~]#
/etc/init.d/redis_6379 start

[root@centos01 ~]# netstat -anptu | grep
redis
在这里插入图片描述

案例配置环境再开五台linu

使用SCP命令,将redis-3.2.9.tar.gz软件包上传到其他服务器

scp redis-3.2.9.tar.gz root@192.168.100.20:/root

scp redis-3.2.9.tar.gz root@192.168.100.30:/root

scp redis-3.2.9.tar.gz root@192.168.100.40:/root

scp redis-3.2.9.tar.gz root@192.168.100.50:/root

scp redis-3.2.9.tar.gz root@192.168.100.60:/root

其他服务器配置,其他五台均这样配置

[root@centos02 ~]# yum -y install ruby rubygems

[root@centos02 ~]# tar zxvf redis-3.2.9.tar.gz

[root@centos02 ~]# mv redis-3.2.9 /usr/src/redis

[root@centos02 ~]# cd /usr/src/redis/

[root@centos02 redis]# make

[root@centos02 redis]# make install

[root@centos02 redis]# cd utils/

[root@centos02 utils]# ./install_server.sh

使用SCP命令将redis主配置文件上传到其他五台服务器中

[root@centos01 ~]# scp /etc/redis/6379.conf root@192.168.100.20:/etc/redis/

[root@centos01 ~]# scp /etc/redis/6379.conf root@192.168.100.30:/etc/redis/

[root@centos01 ~]# scp /etc/redis/6379.conf root@192.168.100.40:/etc/redis/

[root@centos01 ~]# scp /etc/redis/6379.conf root@192.168.100.50:/etc/redis/

[root@centos01 ~]# scp /etc/redis/6379.conf root@192.168.100.60:/etc/redis/

修改其他五台监听地址

[root@centos02 ~]# vim /etc/redis/6379.conf

bind 192.168.100.20

bind 192.168.100.30

bind 192.168.100.40

bind 192.168.100.50

bind 192.168.100.60

五台都服务器启动redis服务,监听默认端口

[root@centos02 ~]# redis-server /etc/redis/6379.conf

[root@centos02 ~]# netstat -anptu | grep redis
在这里插入图片描述

(3)配置Redis-3.2.0.gem工具,进入目录通过rz命令上传工具

[root@centos01 ~]# cd /usr/src/redis/src/

[root@centos01 src]# rz

[root@centos01 src]# gem install redis --version 3.2.0

(4)创建群集

[root@centos01 ~]#/usr/src/redis/src/redis-trib.rb create --replicas 1 192.168.100.10:6379 192.168.100.20:6379 192.168.100.30:6379 192.168.100.40:6379 192.168.100.50:6379 192.168.100.60:6379

(5)检测redis群集节点

[root@centos01 ~]#/usr/src/redis/src/redis-trib.rb check 192.168.100.20:6379

(6)存储数据

[root@centos01 ~]# redis-cli -h 192.168.100.10 -p 6379 -c

在100.10上创建数据,去100.60上查看,验证redis

[root@centos01 ~]# redis-cli -h 192.168.100.10 -p 6379 -c

192.168.100.10:6379> set benet aaa

[root@centos01 ~]# redis-cli -h 192.168.100.60 -p 6379 -c

192.168.100.60:6379> get benet

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值