0
点赞
收藏
分享

微信扫一扫

面试中最常问的10大Linux命令

SPEIKE 03-07 09:31 阅读 4

9.1.1 关系型数据库非关系型数据库

      数据库按照其结构可以分为关系型数据库与其他数据库,而这些其他数据库我们将其统称为非 关系型数据库。Redis数据库是一个非关系型数据库

1、关系型数据库

       关系型数据库是一个结构化的数据库,创建在关系模型基础上,一般面向记录。它借助于集合 代数等數学概念和方法来处理数据库中的数据。关系模型指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。现实世界中,各种实体与实体之间的各种联系都可以用关系模型来表示。SQL (Structured Query Language,结构化查询语言)语句就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。

       主流的关系型数据库包括Oracle、MySQL、SQL Server、 Microsoft Access、DB2等。

2、非关系型数据库

        NoSQL(NoSQL = Not Only SQL),意思是“不仅仅是SQL”,是非关系型数据库的总称。主流的NoSQL数据库有Redis、MongBD、Hbase、CouhDB等。以上这些数据库,它们的存储方式、存储结构以及使用的场景都是完全不同的。所以我们认为它是一个非关系型数据库的集合,而不是像关系型数据库一样,是一个统称。换言之,主流的关系型数据库以外的数据库,都是非关系型的。NoSQL 数据库凭借着其非关系型、分布式、开源和横向扩展等优势,被认为是下一代数据库产品。

9.1.2 Redis基础

1. Redis简介

      Redis 是一个开源的,使用C语言编写、支持网络、可基于内存亦可持久化的日志型、key-value (键值对)数据库,是目前分布式架构中不可或缺的一环。

       Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,而Redis 的实际处理速度则完全依靠于主进程的执行效率。若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力会有一定程度的下降,若在同一台服务器上开启多个Redis进程, Redis在提高并发处理能力的同时会给服务器的CPU造成很大压力。也就是说,在实际生产环境中。 需要根据实际的需求来决定开启多少个Redis进程。若对高并发要求更高一些,可能会考虑在同一台 服务器上开启多个进程:若CPU资源比较紧张,采用单进程即可。

Redis具有一下几个优点。

部署配置实验

实验环境

虚拟机 6台 centos7.9

网卡NAT模式 数量 1

组件包Redis安装包

设备

IP

备注

Centos01

192.168.161.111

Node1

Centos02

192.168.161.112

Node2

Centos03

192.168.161.113

Node3

Centos04

192.168.161.114

Node4

Centos05

192.168.161.115

Node5

Centos06

192.168.161.116

Node6

初始配置

关闭防火墙关闭Selinux

Systemctl disable firewalld --now

关闭Selinux

setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

配置IP DNS 网关

nmtui

上传Redis安装包

安装组件(1~6台可同时操作)

[root@node1 ~]# yum -y install gcc vim net-tools

解压到/usr/src/ 目录下

[root@node1 ~]# tar zxf redis-7.2.4.tar.gz -C /usr/src/

进入解压目录进行编译安装

[root@node1 ~]# cd /usr/src/redis-7.2.4/
[root@node1 redis-7.2.4]# make && make install

Redis操作命令关联系统

[root@node1 redis-7.2.4]# mkdir cluster
[root@node1 redis-7.2.4]# mkdir cluster/6001
[root@node1 redis-7.2.4]# cp redis.conf cluster/6001

[root@node1 redis-7.2.4]# mkdir cluster/6002
[root@node1 redis-7.2.4]# cp redis.conf cluster/6002

[root@node1 redis-7.2.4]# mkdir cluster/6003
[root@node1 redis-7.2.4]# cp redis.conf cluster/6003

[root@node1 redis-7.2.4]# mkdir cluster/6004
[root@node1 redis-7.2.4]# cp redis.conf cluster/6004

[root@node1 redis-7.2.4]# mkdir cluster/6005
[root@node1 redis-7.2.4]# cp redis.conf cluster/6005

[root@node1 redis-7.2.4]# mkdir cluster/6006
[root@node1 redis-7.2.4]# cp redis.conf cluster/6006

 分别修改,1~6台可同时操作 (每台主机的需要修改cluster/6001/redis.conf ~ cluster/6006/redis.conf)

[root@node1 redis-7.2.4]# vim cluster/6001/redis.conf 


bind 192.168.160.51                  //将 127.0.0.1 修改对应节点IP
protected-mode no			         //将 yes 修改no关闭保护功能
port 6001					         //将 6379 端口修改对应目录的
daemonize yes				         //将 no 修改 yes 开启守护进程
cluster-enabled yes			         //将 # 删除 开启群集功能
cluster-config-file nodes-6379.conf  //将 # 删除 开启群集配置文件
cluster-node-timeout 15000		     //将 # 删除 开启群集节点超时

将群集目录 cluster 复制到其它节点(如远端没有同时操作以上步骤,可从本机复制过去)

[root@node1 redis-7.2.4]# tar zcf cluster-dir.tar.gz cluster

[root@node1 redis-7.2.4]# scp cluster-dir.tar.gz root@192.168.161.112:/usr/src/redis-7.2
                                                        该ip为远端ip
[root@node2 redis-7.2.4]# tar zxf cluster-dir.tar.gz //在node2解包

每个节点 启动redis服务 不同节点变换目录 cluster/6002/redis.conf (不可6台同时操作共同启动)

[root@node1 redis-7.2.4]# redis-server cluster/6001/redis.conf 


[root@node1 redis-7.2.4]# ps -aux  //查看进程

使用脚本创建群集 仅在 node1 操作

[root@node1 redis-7.2.4]# yum -y install ruby ruby-devel rpm-build
[root@node1 redis-7.2.4]# redis-cli --cluster create 192.168.161.111:6001 192.168.161.112:6002 192.168.161.113:6003 192.168.161.114:6004 192.168.161.115:6005 192.168.161.116:6006 --cluster-replicas 1  //创建群集

[root@node1 redis-7.2.4]# redis-cli -h 192.168.161.111 -p 6001 -c //连接本机上的 Redis 数据库(可连接本机也可连接远端主机数据库)


或


[root@node1 redis-7.2.4]# redis-cli (仅连接本机)
192.168.161.111:6001> CLUSTER SLOTS

测试,在node1创建aa

192.168.161.111:6001> set aa bt135

192.168.161.111:6001> get aa

在node2中查找在node1中创建的aa

[root@node2 redis-7.2.4]# redis-cli -h 192.168.161.112 -p 6002 -c

192.168.161.112:6002> get aa

举报

相关推荐

0 条评论