zoukankan      html  css  js  c++  java
  • 07_流式计算基础_第2天(Redis基础、应用场景、数据结构及案例) RDB和AOF ---一般有用

    课程介绍

    课程名称:

    Kafka技术增强 

    注:学习本课程请先学习Kafka基础

    课程目标:

    通过本模块的学习,能够掌握Storm底层的通信机制、消息容错机制、storm目录树及任务提交流程。

    课程大纲:

    课程内容

    1Redis概述

    l Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的应用程序的完美解决方案。

    l Redis从它的许多竞争继承来的三个主要特点:

    l Redis数据库完全在内存中,使用磁盘仅用于持久性

    相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。StringList,set,map,sortSet

    Redis可以将数据复制到任意数量的从服务器。

    2Redis 优势

    异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。

    支持丰富的数据类型:Redis支持字符串、列表、集合、有序集合散列数据类型,这使得它非常容易解决各种各样的问题。

    操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。----计数器

    多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。

    3Redis安装部署

    3.1Redis下载、编译、安装 

    l 下载redis3.0.5

    wget http://download.redis.io/releases/redis-3.0.5.tar.gz

    l 解压文件,并创建软件连接

    tar -zxvf  redis-3.0.5.tar.gz -C /export/servers/

    ln  –s  redis-3.0.5/  redis

    l 编译redis源码

    cd /export/servers/redis

    make(先安装gcc) 

    l 将编译后的可执行文件安装到/user/local/redis

    make PREFIX=/usr/local/redis install

    3.2、启动Redis

    启动方式一:Redis前台默认启动 

    进入redis安装目录,并启动Redis服务

    cd /usr/local/redis/bin/

    ./redis-server

    启动方式二:Redis使用配置文件启动 

    拷贝源码中的redis.conf文件到redis的安装目录 

      cp /export/servers/redis/redis.conf        /usr/local/redis/

    修改redis.conf的属性 

      daemonize no  è daemonize yes

    启动redis服务 

    cd  /usr/local/redis

     bin/redis-server    ./redis.conf

    3.3、日志文件及持久化文件配置 

    修改生成默认日志文件位置

    logfile "/usr/local/redis/logs/redis.log"

    l 配置持久化文件存放位置 

      dir /usr/local/redis/data/redisData

    3.4Redis客户端使用

    <dependency>

    <groupId>redis.clients</groupId>

    <artifactId>jedis</artifactId>

    <version>2.8.0</version>

    </dependency>

    4Redis持久化

    有两种持久化方案:RDBAOF

    1) RDB方式按照一定的时间间隔对数据集创建基于时间点的快照。

    2AOF方式记录Server收到的写操作到日志文件,Server重启时通过回放这些写操作来重建数据集。该方式类似于MySQL中基于语句格式的binlog。当日志变大时Redis可在后台重写日志。

    l AOF持久化配置

    1)修改redis.config配置文件,找到appendonly。默认是appendonly no改成appendonly yes

    2再找到appendfsync 。默认是 appendfsync everysec

    appendfsync always  

      #每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用  

    appendfsync everysec    

     #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐  

    appendfsync no    

    #完全依赖os,性能最好,持久化没保证  

    l RDB持久化配置

    默认情况下,Redis保存数据集快照到磁盘,名为dump.rdb的二进制文件。可以设置让RedisN秒内至少有M次数据集改动时保存数据集,或者你也可以手动调用SAVE或者BGSAVE命令。 
    例如,这个配置会让Redis在每个60秒内至少有1000次键改动时自动转储数据集到磁盘

    save 60 1000 

    5Redis数据结构

    见代码

  • 相关阅读:
    mysql 函数在源码中的定义
    mydumper工作原理 :myownstars专家
    drop table big_table 调试
    debugfs恢复文件
    Linux内核里的DebugFS
    在Linux环境中使用Ext3文件系统
    strace
    通过blktrace, debugfs分析磁盘IO
    block_dump观察Linux IO写入的具体文件(mysqld)
    Centos下的IO监控与分析
  • 原文地址:https://www.cnblogs.com/shan13936/p/13785133.html
Copyright © 2011-2022 走看看