一.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. Linux内存、性能诊断中vmstat命令的详解

    vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存 交换情况,IO读写情况.相比top,通过vmstat可以看到 ...

  2. (7) MySQL数据库备份详解

    对于任何数据库来说,备份都是非常重要的 数据库复制不能取代备份的作用 比如我们由于误操作,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据可能也已经被删除了, 我们不能使 ...

  3. 【iCore4 双核心板_ARM】例程二十八:FSMC实验——读写FPGA

    实验现象: 1.先烧写FPGA程序,再烧写ARM程序,ARM程序烧写完毕后即开始读写RAM测试,测试成功,绿色ARM·LED亮,测试失败,红色ARM·LED闪烁. 2.测试成功,ARM通过映射寄存器来 ...

  4. Linux 文件umask默认权限_012

    一.       umask介绍 Linux 系统用户创建一个新的目录或文件时,系统会默认会分配相应的权限.目录或文件的权限是如何产生的呢? 1.这就是umask的功能,umask设置了用户创建文件或 ...

  5. Spring Security的几个重要词

    1.SecurityContextHolder:是安全上下文容器,可以在此得知操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保存在SecurityContextHolder中. O ...

  6. vue实现pc端无限加载功能

    主要思路通过自定义指令,在视图初始化完成后,绑定scroll事件.当scrollTop + clientHeight >= scrollHeight时(此时滚定条到了底部)触发loadMore事 ...

  7. hue 记录

    No databases are available. Permissions could be missing. Could not start SASL: Error in sasl_client ...

  8. 深入理解 Java 虚拟机之学习笔记(3)

    垃圾回收(Garbage Collection,GC ),GC的历史其实比Java久远,1960年诞生与MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言.当Lisp还在胚胎时期时,人们 ...

  9. python 运行环境

    Python 是一种半编译半解释型运行环境.首先,它会在模块 "载入" 时将源码编译成字节码 (ByteCode).而后,这些字节码会被虚拟机在一个 "巨大" ...

  10. Linux下的at定时执行任务命令详解

    之前说了使用crontab实现定时执行任务,假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了.一.at服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下 ...