《关系型数据库与非关系型数据库》

关系数据库:mysql、oracle、DB2、SQL Server
非关系数据库:Redis(缓存数据库)、MongodDB(处理海量数据)、Memcached(缓存数据库)《类型:文档型、key-value型、图形》

《关系型数据库与非关系型数据库主要区别》
1、数据存储方式不同
关系型数据库存储在硬盘中,非关系型数据库存储在缓存中,在读取数据速度方面非关系型数据库相比关系型数据库要快,

2、扩展性不同
关系型数据库存储为表格式很容易横向扩展容易达到扩展瓶颈,而非关系型数据库是基于键值对,一个key对应一个value,数据之间

没有耦合性扩展起来比较方便。

3、事务性不同
传统SQL数据库支持对事务原子性的控制,并且容易回滚,
非关系型数据库也支持事务操作,但稳定性方面没法和关系型数据库比较,因为非关系型数据库价值是在扩展性和大数据量处理方面。

===============================================================================================================

Redis的优点:

1、读取速度快

2、支持多种数据类型:包括key-value、string、lists

3、支持数据的持久化,可以将内存中的数据保存到硬盘中,重启的时候可以再次加载使用

4、支持数据的备份

Redis集群部署

环境:

192.168.200.100 redis-1
192.168.200.101 redis-2
192.168.200.102 redis-3
192.168.200.111 redis-4
192.168.200.112 redis-5
192.168.200.113 redis-6

使用源码包安装redis

[root@redis-1 ~]# rz
[root@redis-1 ~]#

redis-5.0.3.tar.gz 

redis-5.0.3.tar.gz 分别发送到各台主机

[root@redis-1 ~]# scp redis-5.0.3.tar.gz 192.168.200.101:/root

[root@redis-1 ~]# scp redis-5.0.3.tar.gz 192.168.200.102:/root

[root@redis-1 ~]# scp redis-5.0.3.tar.gz 192.168.200.111:/root

[root@redis-1 ~]# scp redis-5.0.3.tar.gz 192.168.200.112:/root

[root@redis-1 ~]# scp redis-5.0.3.tar.gz 192.168.200.113:/root

解压并进行编译(此处所有主机都执行本次操作)

[root@redis-1 ~]# tar xf redis-5.0.3.tar.gz -C /usr/src

[root@redis-1 ~]# cd /usr/src/redis-5.0.3/

[root@redis-1 redis-5.0.3]# make

[root@redis-1 redis-5.0.3]# make install

如果make继续报错,信息如下:error: jemalloc/jemalloc.h: No such file or directory

执行 make MALLOC=libc 就行

[root@redis-1 redis-5.0.3]# ln -sf /usr/local/redis/bin/* /usr/local/bin/

[root@redis-1 redis-5.0.3]# cd utils/

[root@redis-1 utils]# bash install_server.sh                      #此处一直按回车键

--------

Successfully added to chkconfig!

Successfully added to runlevels 345!
Starting Redis server...
Installation successful!

修改配置文件(此处所有主机都执行本次操作)

[root@redis-1 utils]# vim /etc/redis/6379.conf

70修改     bind 127.0.0.1 192.168.200.100               #都添加自己相应的IP地址

[root@redis-6 utils]# /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...

查看端口

[root@redis-1 utils]# netstat -lnpt | grep 6379
tcp 0 0 192.168.200.100:6379 0.0.0.0:* LISTEN 22375/redis-server
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 22375/redis-server

进入Redis数据库

[root@redis-1 utils]# redis-cli
127.0.0.1:6379> ping
PONG                                              #PONG表示所有主机都存活

=================================================================================================

======================================================================================

 进入Redisi数据库

[root@redis-1 utils]# redis-cli
127.0.0.1:6379> ping
PONG

查看参数

127.0.0.1:6379> info

127.0.0.1:6379> set teacher liuxiang                 #set是创建
OK
127.0.0.1:6379> get teacher #get是获取
"liuxiang"

  

127.0.0.1:6379> set k2 1
OK
127.0.0.1:6379> set k3 1
OK
127.0.0.1:6379> set k4 1
OK
127.0.0.1:6379> set k5 1
OK 127.0.0.1:6379> set foot mail
OK 127.0.0.1:6379> keys * #keys *是查看数据库中所有的键,不建议在生产环境中使用keys *,因为生产环境中数据量庞大,会导致数据库压力 1) "k1"
2) "teacher"
3) "k2"
4) "k4"
5) "k5"
6) "foot"
7) "k3" 127.0.0.1:6379> keys k* #建议使用这种排除方式来查询
1) "k1"
2) "k2"
3) "k4"
4) "k5"
5) "k3"

  

127.0.0.1:6379> keys *
1) "k1"
2) "teacher"
3) "k2"
4) "k4"
5) "k5"
6) "foot"
7) "k3"
127.0.0.1:6379> del k5 #删除k5的键与其相对应的值
(integer) 1
127.0.0.1:6379> keys *
1) "k1"
2) "teacher"
3) "k2"
4) "k4"
5) "foot"
6) "k3"

127.0.0.1:6379> set v1 1            #创建一个v1的键值
OK
127.0.0.1:6379> RENAME v1 v11 #修改键值名
OK
127.0.0.1:6379> get v11 #查看键值数据
"1"

127.0.0.1:6379> keys *
1) "teacher"
2) "k2"
3) "v11"
4) "foot"
5) "k3"
6) "k11"
127.0.0.1:6379> RENAMENX k2 k3        #将k2键名改成k3失败,因为已经有了k3的键名
(integer) 0                                                #返回值为0失败
127.0.0.1:6379> RENAMENX k2 v2       #改名成功
(integer) 1                                                 #返回值为1成功
127.0.0.1:6379> keys *
1) "teacher"
2) "v11"
3) "v2"
4) "foot"
5) "k3"
6) "k11"

 

127.0.0.1:6379> keys *
1) "teacher"
2) "v11"
3) "v2"
4) "foot"
5) "k3"
6) "k11"
127.0.0.1:6379> DBSIZE
(integer) 6

127.0.0.1:6379> SELECT 10                  #进入到10号库
OK
127.0.0.1:6379[10]> keys *                     #此时数据为零
(empty list or set)
127.0.0.1:6379[10]> SELECT 0              #进入0号默认库
OK
127.0.0.1:6379> keys *
1) "teacher"
2) "v11"
3) "v2"
4) "foot"
5) "k3"
6) "k11"

  

Redis非关系型缓存数据库集群部署、参数、命令工具的更多相关文章

  1. Redis 非关系性数据库集群的搭建与常用方法

    redis 非关系型数据库,内存型数据库,现在大家都不陌生了,无论大中小型企业,都会将redis应用到自己的项目中,以此来减轻数据库的压力 安装步骤: 1.安装gcc 安装c语言的编译环境 yum i ...

  2. Spring Boot+redis存储session,满足集群部署、分布式系统的session共享

    本文讲述spring-boot工程中使用spring-session机制进行安全认证,并且通过redis存储session,满足集群部署.分布式系统的session共享. 原文链接:https://w ...

  3. k8s集群部署之环境介绍与etcd数据库集群部署

    角色 IP 组件 配置 master-1 192.168.10.11 kube-apiserver kube-controller-manager kube-scheduler etcd 2c 2g ...

  4. 2、Redis 底层原理:Cluster 集群部署与详解

    Redis 简介 Redis 提供数据缓存服务,内部数据都存在内存中,所以访问速度非常快. 早期,Redis 单应用服务亦能满足企业的需求.之后,业务量的上升,单机的读写能力满足不了业务的需求,技术上 ...

  5. SequoiaDB数据库集群部署

    一般在多机环境下部署数据库的集群模式是比较繁琐的,下面我来分享一个如何通过shell脚本的方式简单.方便地部署我们的集群. 首先,我们要给机器配置信任关系,这样我们就无需手动的输入密码来执行ssh和s ...

  6. redis CentOS6.5安装及集群部署

    .下载redis source包 链接:https://pan.baidu.com/s/122ZCjNvjl9Jx6M2YsLrncw 密码:92ze 2.解压 tar -xzf redis-3.2. ...

  7. Redis集群部署及命令

    一.简介 redis集群是一个无中心的分布式Redis存储架构,可以在多个节点之间进行数据共享,解决了Redis高可用.可扩展等问题. redis集群提供了以下两个好处: 将数据自动切分(split) ...

  8. Linux下使用Magent+Memcached缓存服务器集群部署

    1.编译安装libevent  cd /root/soft_hhf/  wget http://cloud.github.com/downloads/libevent/libevent/libeven ...

  9. elasticSearch数据库、skywalking集群部署

    Centos6上面安装elasticsearc数据库的集群 安装的是6.3.2版本,安装之前首先要先安装jdk1.8版本 安装之前首先需要关闭防火墙 Centos6 sudo service ipta ...

随机推荐

  1. HDFS的扩容

    一.扩容 1.1横向扩容:加节点    https://www.cnblogs.com/the-roc/p/12362926.html 1.2纵向扩容:加硬盘 二.纵向扩容 2.1添加硬盘 2.2在关 ...

  2. 玩转HP DL380 G5之一:HP服务器引导盘SmartStart CD下载地址收集

    由于hp企业应用从hp拆分出去,导致很多早期服务器相关资料被hp抹去,其中受影响比较严重的就是hp DL系列服务器,下面是本人从网上搜集到的hp引导盘镜像包,这些包内含服务器必要的驱动,一般随服务器一 ...

  3. react-react中的css+评论组件

    一个小案例,巩固有状态组件和无状态组件的使用 通过for循环生成多个组件 数据: CommentList = [ { user: '张三', content: '哈哈,沙发' }, { user: ' ...

  4. java - GC垃圾收集器详解(一)

    概要 该图标记了在jdk体系中所使用到的垃圾收集器及对应的关系图.图片上方为年轻代的垃圾收集器而图片下方是老年代的垃圾收集器.当选择某一个区域的垃圾收集器时会自动选择另外一个区域的另一个垃圾收集器.例 ...

  5. 2019-08-18 纪中NOIP模拟A组

    T1 [JZOJ6309] 完全背包 题目描述

  6. css动画 transition

    比如输入框触交渐变 在原来的属性添加 : .form-control{-webkit-transition: all .3s; transition: all .3s;} .form-control: ...

  7. 洛谷P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here

    题目描述 众所周知,在每一个彗星后都有一只UFO.这些UFO时常来收集地球上的忠诚支持者.不幸的是,他们的飞碟每次出行都只能带上一组支持者.因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带走 ...

  8. Verilog-格雷码加法器

    1.概述 格雷码执行加1操作最多只会变1位,可用在多位地址指针中消除毛刺. 2.verilog代码 `timescale 1ns / 1ps module gray_adder #() ( input ...

  9. 如何通过给MM修电脑培养感情

    文章来自网络 在修之前,向MM反复声明,这电脑故障是有硬件和软件之分的,如果是硬件故障,例如显卡风扇不转了,显示器连线老化,显示器分辨率超出显示器指标,等等都会导致黑屏啊,这个我不回家用专门的工具是修 ...

  10. Nginx实现前端访问后端本地接口

    Nginx配置两个地方就行: 先是配置好自己项目的服务,确保自己的项目能运行: location / { root /web/xiangmu/public; // 本地项目的路径 index inde ...