一.NoSql数据库(Not Only Sql):

  1.又称为非关系型数据库,主流的NoSql数据库有:

    Redis,Hbase,MongoDB

  2.NoSql产生的背景:

    1.1.数据库的高并发的读写:

      比如在双十一期间,那时的并发量就及其的高

    1.2.海量数据的效率:

      哪怕是加上索引,分区,关系型数据库的效率也是力不从心(几十亿条,甚至几百亿条数据时候)

    1.3.高扩展和可用性:

      使用分布式的时候,关系型的数据库扩展性就不行了

  3.它和关系型数据库的区别:

    01.不支持事务的ACDI特性

    02.不需要实时的读写

    03.不支持sql语句

    04.出道时间短,其所涵盖的功能并不是很完善

    05.基于分布式,扩展方便

    06.无需sql解析,读写效率更高

    07.降低服务器成本

    08.存储数据的格式是key,value 数据类型灵活

    09.数据没有耦合性,容易扩展

  4.CAP定理

    1.1 定理的概念:

      指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性),Paretion tolerance(分区容错性)

    ***三者不可共存***

    1.2.CAP定理是NoSql数据库的基石

      一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。

      可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。

      分区容错性(P):在网络分区的前提下,保证数据的容错机制!意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。

    1.3.三者不可能共存,最大只能满足两个

      CA:一致性(C)可用性(A)
        让我们想起来了 关系型数据库中事务的ACID特性
          满足者:关系型数据库

      CP:一致性(C)分区容错性(P)
          满足者:分布式数据库

      AP:可用性(A) 分区容错性(P)
          满足者:NoSql

      1.4..什么是分布式数据库

      分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。

    1.5:BASE定理

      1.什么是BASE定理

        BASE定理就是为了解决关系数据库强一致性引起的问题而引起的可用性降低而提出的解决方案。

       2.组成部分

        基本可用(Basically Available)可用性的要求不是很高!

        软状态(Soft state)数据不需要实时的保持一致!

          比如说1台机器做了修改,其他并不要求实时进行同步更新!

          最终一致(Eventually consistent)数据最终保持一致即可!

二:初识Redis

  2.1.Redis介绍

    1.开源的NoSql数据库

    2.C语言编写

    3.基于内存运行,并且支持持久化

    4.Key value存储

    5.是主流的Nosql数据库之一

  2.2.Redis优点

    1.内存使用方便

    2.数据读写快速高效

    3.持久化性能相比其他NoSql数据库更好

    4.扩展性和移植性强

    5.分布式中不可或缺的一员

  2.3:Redis的安装

    在解压之前,让我们先了解一些关于linux的解/压缩命令

                    tar

                 -c: 建立压缩档案
                 -x:解压
                 -t:查看内容
                 -r:向压缩归档文件末尾追加文件
                 -u:更新原压缩包中的文件

      这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

                 -z:有gzip属性的
                 -j:有bz2属性的
                 -Z:有compress属性的
                 -v:显示所有过程
                 -O:将文件解开到标准输出                 

                 -f: 使用档案名字,(切记,这个参数是最后一个参数,后面只能接档案名)

    01. 把从官网上下载的 redis-3.2.10.tar.gz 通过 xftp上传到linux操作系统中的指定位置

    02. tar  -zxvf  redis-3.2.10.tar.gz 解压到文件中去

    03.解压完后,进入解压出来的文件夹后 输出  make

    04. 安装 make install  PREFIX="安装路径"

    05. 如果在安装的位置看到一个bin目录 说明安装成功了

      如果make指令报错

      make[1]: 进入目录“/software/redis-3.2.10/src”

          CC adlist.o

       /bin/sh: cc: 未找到命令

      make[1]: *** [adlist.o] 错误 127

      make[1]: 离开目录“/software/redis-3.2.10/src”

      make: *** [all] 错误 2

    这个问题是:缺少c++组件

    执行:yum install gcc-c++ (后面一直y就好)

    ***1.如果yum安装过程中出现镜像的问题

          解决办法:

    1. 清空自带的yum源: rm -rf /etc/yum.repos.d/*

     2. 创建本地yum源:vim /etc/yum.repos.d/xx.repo(后缀名必须是以 repo结尾的,xx是文件名,自拟!)

     3. 编辑文件xx.repo

[local]

name=local

baseurl=file:///mnt

gpgcheck=

     4. 挂载光盘

      光盘的挂载点必须是  上面的baseurl

        mount  /dev/cdrom   /mnt/

        只有挂载只有才有 /mnt/目录

    5. 实现永久挂载光盘

      vim /etc/fstab

      在文件中的最后一行输入

      /dev/cdrom     /mnt iso9660 defaults 0  0

    6. 让文件立即生效

      mount -a

    7. 可以使用yum了~~~~~

      ***2.如果遇到   CC adlist.o

      In file included from adlist.c:34:0:

    zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录

     #include <jemalloc/jemalloc.h>

    解决办法:

      make MALLOC=libc

  2.4:运行redis

    在bin目录下运行指令:./redis-server  ../redis.conf

  2.5:配置redis.conf文件

    在redis-3.2.10这个目录下输入指令:vim redis.conf

初始Redis的更多相关文章

  1. 初始Redis与简单使用

    初始Redis: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...

  2. 【Redis篇】初始Redis与Redis安装

    一.前述 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括st ...

  3. 初始redis数据库

    redis就是一个类似于存储在内存中的大字典 安装: windows下安装redis: 你需要在你的环境下安装: pip install redis 以上是在你的全局环境安装, 你如果用的是虚拟环境你 ...

  4. redis集群之REDIS CLUSTER

    redis集群之REDIS CLUSTER 时间 2016-04-11 17:05:00  NoSQL_博客园 原文  http://www.cnblogs.com/zhanchenjin/p/537 ...

  5. 《Redis开发与运维》读书笔记

    一.初始Redis 1.Redis特性与优点 速度快.redis所有数据都存放于内存:是用C语言实现,更加贴近硬件:使用了单线程架构,避免了多线程竞争问题 基于键值对的数据结构,支持的数据结构丰富.它 ...

  6. redis介绍(3)RDB和AOF原理解析

    简单科普一下redis的概念:(会的可忽略) Redis的概念 redis基于内存的Key Value类型的NoSQL数据库. Redis的特点 1. Redis是一个高性能的Key/Value数据库 ...

  7. Redis开发与运维学习笔记

    <Redis开发与运维>读书笔记   一.初始Redis 1.Redis特性与优点 速度快.redis所有数据都存放于内存:是用C语言实现,更加贴近硬件:使用了单线程架构,避免了多线程竞争 ...

  8. 非关系型数据库redis

    Redis初始 redis中不区分字母的大小写 查看端口 ss tnlp 安装 编译安装(需要先配置epel源) yum install -y redis 编译安装 wget https://down ...

  9. scrapy分布式Spider源码分析及实现过程

    分布式框架scrapy_redis实现了一套完整的组件,其中也实现了spider,RedisSpider是在继承原scrapy的Spider的基础上略有改动,初始URL不在从start_urls列表中 ...

随机推荐

  1. LeetCode 232:Implement Queue using Stacks

     Implement the following operations of a queue using stacks. push(x) -- Push element x to the back ...

  2. Atitit s2018.2 s2 doc list on home ntpc.docx  \Atiitt uke制度体系 法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别 讯飞科大 语音云.docx \Atitit 代码托管与虚拟主机.docx \Atitit 企业文化 每日心灵 鸡汤 值班 发布.docx \Atitit 几大研发体系对比 Stage-Gat

    Atitit s2018.2 s2 doc list on home ntpc.docx \Atiitt uke制度体系  法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别   ...

  3. idea 自动导入

  4. 你真的理解Python中MRO算法吗?[转]

    [前言] MRO(Method Resolution Order):方法解析顺序.Python语言包含了很多优秀的特性,其中多重继承就是其中之一,但是多重继承会引发很多问题,比如二义性,Python中 ...

  5. vux安装中遇到的坑(转)

    1.输入 npm install vux --save 2.输入 npm install vux-loader --save-dev(没安装的时候,会一直报错) 3.build/webpack.bas ...

  6. 框架源码系列四:手写Spring-配置(为什么要提供配置的方法、选择什么样的配置方式、配置方式的工作过程是怎样的、分步骤一个一个的去分析和设计)

    一.为什么要提供配置的方法 经过前面的手写Spring IOC.手写Spring DI.手写Spring AOP,我们知道要创建一个bean对象,需要用户先定义好bean,然后注册到bean工厂才能创 ...

  7. koa文档参考

    koa文档 简介 koa 是由 Express 原班人马打造的,致力于成为一个更小.更富有表现力.更健壮的 Web 框架.使用 koa 编写 web 应用,通过组合不同的 generator,可以免除 ...

  8. pyCharm最新激活码(2018激活码)

    首先输入新的License sever address 首先尝试处理方法是,针对过期会弹出激活框: 选择 Activate new license with License server (用lice ...

  9. Centos 下 JProfiler 9.1.1 安装 部署 及 使用

    JProfiler[1] 是一个商业授权的Java剖析工具,由EJ技术有限公司,针对的Java EE和Java SE应用程序开发的.它把CPU.执行绪和内存的剖析组合在一个强大的应用中.JProfil ...

  10. 【原创】我的KM算法详解

    0.二分图 二分图的概念 二分图又称作二部图,是图论中的一种特殊模型. 设G=(V, E)是一个无向图.如果顶点集V可分割为两个互不相交的子集X和Y,并且图中每条边连接的两个顶点一个在X中,另一个在Y ...