Redis

一 NoSQL
         为了解决高并发、高可扩展(集群)、高可用(不能宕机)、大数据存储问题而产生的数据库解决方案,就是NoSql数据库。NoSql  :全称 not only sql ,非关系型数据库。可以作为关系型数据库的一个很好的补充。不能替代。

         NoSQL分类:

  • 键值(Key-Value)存储数据库
     

    相关产品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB。

    典型应用:内容缓存,主要用于处理大量数据的高访问负载。

       数据模型:一系列键值对

       优势:快速查询

       劣势:存储的数据缺少结构化

 

  • 列存储数据库

       相关产品:Cassandra, HBase, Riak

       典型应用:分布式的文件系统

       数据模型:以列簇式存储,将同一列数据存在一起

       优势:查找速度快,可扩展性强,更容易进行分布式扩展

       劣势:功能相对局限

 

  • 文档型数据库

       相关产品:CouchDB、MongoDB

       典型应用:Web应用(与Key-Value类似,Value是结构化的)

       数据模型:一系列键值对

       优势:数据结构要求不严格

       劣势:查询性能不高,而且缺乏统一的查询语法

 

  • 图形(Graph)数据库

       相关数据库:Neo4J、InfoGrid、Infinite Graph

       典型应用:社交网络

       数据模型:图结构

       优势:利用图结构相关算法。

       劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案。

二 Redis

1.Redis简介
       Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库(nosql),应用在缓存。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型有5种。redis是单线程,不适合存储比较大的数据。

       五种数据类型:(redis命令不区分大小写,但是key区分的 。redis中的数据都是字符串。)
              字符串类型 (String)

              散列类型(hash)

              列表类型(List)

              集合类型(set)

              有序集合类型(SortedSet)
2.Redis应用场景
        缓存。

        分布式集群架构中的session分离。

        任务队列。(秒杀、抢购、12306等等)

        应用排行榜。(SortedSet)

        网站访问统计。

        数据过期处理。(expire)

三 Redis的安装、启动、关闭

        1.下载
            官网地址:http://redis.io/
            各种版本下载地址:http://download.redis.io/releases

        2.安装
           安装redis需要c语言的编译环境,如果没有gcc需要在线安装。如下命令:
           [root@localhost ~]# yum -y install gcc-c++
           如果有GCC环境,只需输入命令:
           [root@localhost ~]# gcc
           出现 :gcc: no input files  表示安装成功。

          将redis的源码包上传到linux系统。解压缩redis的源码包。

          进行编译。 cd到解压后的目录 输入命令:make   

          进行安装。 输入命令:make install PREFIX=/usr/local/redis      (PREFIX 必须是大写的。)

         3.启动-----前端启动(启动之后无法做其他操作,不常用.。Ctrl+c退出)

       4.启动-----后端启动
          先把/root/redis-3.0.0/redis.conf复制到/usr/local/redis/bin目录下:cp redis.conf  /usr/local/redis/bin
          [root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/

          使用vim命令修改redis.conf配置文件 将daemonize no修改为daemonize yes

            启动

            测试(./redis-cli -h ip -p port)、关闭redis服务器(./redis-cli shutdown)

四 Redis持久化
         Redis 数据都放在内存中。如果机器挂掉,内存的数据就不存在。需要做持久化,讲内存中的数据保存在磁盘,下一次启动的时候就可以恢复数据到内存中。
         两种持久化方式:
         1.RDB   快照形式  (定期将当前时刻的数据保存磁盘中)会产生一个dump.rdb文件

                       特点:会存在数据丢失,性能较好,数据备份。

          2.AOF   append only file  (所有对redis的操作命令记录在aof文件中),恢复数据,重新执行一遍即可。

                       特点:每秒保存,数据比较完整,耗费性能。

         redis 默认开启RDB
         RDB持久化策略
(60秒内改变10000个key、300秒内改变10个key、900秒内改变1个key就会持久化数据)

       AOF开启设置:修改 redis.conf 文件  如下图:将appendonly 设置为yes

同时开启两个持久化方案,则按照 AOF的持久化放案恢复数据。

默认是按照rdb的方式恢复数据,如果开启了AOF,就是用AOF恢复数据,操作数据的命令是存在于/usr/local/redis/bin/appendonly.aof文件中









 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值