zoukankan      html  css  js  c++  java
  • redis介绍

    简介:其实本来不想写关于redis的,因为本身对redis的了解停留在应用上,但是为了应对面试的一些知识还是需要去了解一下它的底层原理

    redis介绍:

    Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

    它通常被称为数据结构服务器,因为值(value)可以是字符串(String), 哈希(Map), 列表(list), 集合(sets) 和有序集合(sorted sets)等类型。

    关键字:基于内存   可持久化  key-value  nosql

    解释:

    基于内存:客户端对redis所有的操作都是在内存中进行的,所以它的速度会很快(相较于关系型数据库的IO开销)

    可持久化:基于内存的好处就是速度快,但是有个弊端就是重启之后数据全部丢失,这显然不是我们愿意看到的,redis提供了两种持久化的方式 

         RDB持久化:将reids在内存中的数据库记录定时dump到磁盘上的RDB持久化

        过程:Redis调用fork(),产生一个子进程。

                  子进程把数据写到一个临时的RDB文件。

                             当子进程写完新的RDB文件后,把旧的RDB文件替换掉

        优点:便于备份(不同时间都有dump文件),性能很好,需要进行持久化时,主进程会fork一个子进程出来,然后把持久化的工作交给子进程,自己不会有相关的I/O操作

        缺点:会丢数据(备份完成前宕机,上一次之前的到当前的数据没有记录下来)

        2AOF(append only file)持久化:每当Redis接受到会修改数据集的命令时,就会把命令追加到AOF文件里,当你重启Redis时,AOF里的命令会被重新执行一次,重建数据

        优点:比RDB可靠,默认每一秒同步一次日志,最多丢失1秒的数据,而且采用append方式写入,这样就算在写入过程中发生异常,原来的日志文件也不会受影响

        缺点:在相同的数据集下,AOF文件的大小一般会比RDB文件大

    key-value:

        value支持字符串(String), 哈希(Map), 列表(list), 集合(sets) 和有序集合(sorted sets)等类型

    redis特点

    redis集群(哨兵模式)

    =======================================未完待续

  • 相关阅读:
    WampServer软件
    ASP.NET Core中返回 json 数据首字母大小写问题
    区块链的入门与应用(1)
    阿里云oss 的坑==》 路径有区分大小写
    uni-app 学习笔记 小于号问题
    uni-app 学习笔记-引用外部js并调用
    net core 简单读取json配置文件
    net core 3 使用 autofac
    js 获取对应的url参数
    postman 跟restsharp 模拟请求http
  • 原文地址:https://www.cnblogs.com/zwt1990/p/8718188.html
Copyright © 2011-2022 走看看