• redis


    reids是一个基于内存的高性能key-value数据库

    特点: 定期通过异步操作把数据库数据刷新到硬盘进行保存,性能超级高
    支持保存多种数据结构

    主要缺点: 数据库容量受到物理内存的限制,不能海量的高性能读写,
    在较小数据量的高性能操作运算

    Redis 是单进程单线程的

    好处:
    1:速度快:
    2:支持丰富数据类型:string,list,set,hash
    3:支持事务:操作都是原子性,要么全部执行,要么全部不执行
    4:丰富的特性:可用于缓存,设置过期,然后删除

    ----------------------------------------------------------------------------------------------------------------------

    redis的持久化策略
    AOF + RDB
    RDB :什么是RDB
    在指定的时间间隔内将内存中的数据集快照写入磁盘, (在指定的时间内将内存中的数据写入磁盘,)
    也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里 (恢复时是将dump.rdb文件读取到内存中)
    原理:(必须记住)

    Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到
    一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。

    整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能

    如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方
    式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。
    ----------------------------------------------------------------------------------------------------------------------
    RDB:
    Redis会重新fork出一条子进程,这条子进程和主进程一模一样,
    因为cpu里面读和写的操作很慢,所以说fork出一条子进程,让它来进行读和写操作,
    当持久化操作完成之后,它就会将fork出来的子进程中的文件去替换原来进程中的那个配置文件,
    整个过程中,主进程不进行任何IO操作,这就确保了极高的性能,RDB适合进行大规模数据的恢复,
    因为它有一个缺点,就是最后一次持久化后的数据可能会丢失
    RDB的持久化策略分为主动和被动,主动是Save和BGsave,save是全阻塞,BGsave是异步操作,
    被动策略有3种,默认情况为900s触发1次,300s触发10次,60s触发1万次

    ----------------------------------------------------------------------------------------------------------------------
    fork:
    主动
    Save:save时只管保存,其它不管,全部阻塞
    BGSAVE:Redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。可以通过lastsave 命令获取最后一次成功执行快照的时间
    flush操作
    shutdown 操作

    被动
    save ""

    可选
    stop-writes-on-bgsave-error :如果配置成no,表示你不在乎数据不一致或者有其他的手段发现和控制

    rdbcompression 对于存储到磁盘中的快照,可以设置是否进行压缩存储。如果是的话,redis会采用
    LZF算法进行压缩。如果你不想消耗CPU来进行压缩的话,可以设置为关闭此功能

    rdbchecksum: 在存储快照后,还可以让redis使用CRC64算法来进行数据校验,但是这样做会增加大约
    10%的性能消耗,如果希望获取到最大的性能提升,可以关闭此功能
    dbfilename:dump.rdb

  • 相关阅读:
    silverlight 打印
    Silverlight 设置颜色
    JAVA开发Web Service几种框架介绍
    初始化 Gradle 工程目录(转自: 隔叶黄莺 Unmi Blog)
    正则表达式集合
    软件工程(一)
    JAVA多线程与多进程
    配置hibernate根据实体类自动建表功能(转载)
    配置DruidDataSource参考(com.alibaba.druid.pool.DruidDataSource)
    JVM内存堆布局图解分析
  • 原文地址:https://www.cnblogs.com/govzhou/p/9721929.html
Copyright © 2020-2023  润新知