Data
文章平均质量分 53
The data column
做人,最重要的就是开心嘛!
你整天瘫在床上,不学习不运动,幻想天上掉馅饼,白天遇事唯唯诺诺,晚上熬夜为情伤感,怀念那点鸡毛蒜皮的小事,这样的你凭什么还认为自己自命不凡?彻底认命摆烂,和自己和解的人很快乐;时刻努力奋斗向上,和人生搏斗的人也很快乐;只有在这两种选择之间摇摆不定、意志不定的人最可悲,也最痛苦。
展开
-
MySQL-HAVING的用法
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.netHAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 和 SELECT 的交互方式类似。WHERE 搜索条件在进行分组操作之前应用;而HAVING 搜索条件在进行分组操作之后应用。HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中显示的任意项。下面的示例按产品 ID 对原创 2022-01-10 11:27:06 · 1030 阅读 · 0 评论 -
了解数据库分片
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net原创 2022-01-10 11:09:30 · 466 阅读 · 0 评论 -
MongoDB-分布式集群架构(3种模式)
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net在实际的生产环境中,MongoDB 基本是以集群的方式工作的。集群的工作方式能够保证在生产遇到故障时及时恢复,保障应用程序正常地运行和数据的安全。MongoDB 有三种集群部署模式,分别为主从复制(Master-Slaver)、副本集(Replica Set)和分片(Sharding)模式。Master-Slaver 是一种主从副本的模式,目前已经不推荐原创 2022-01-10 09:58:22 · 1196 阅读 · 0 评论 -
MySQL-事务的使用
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netMySQL事务主要用于处理操作量大、复杂度高的数据。比如:在人员管理系统中删除一个人员,你既需要删除人员的基本资料,也需要删除和该人员相关的信息,这样,这些数据库操作语句就构成一个事务。InnoDB数据引擎的数据库才支持事务。事务处理可以用来维护数据库的完整性,保证成批的sql语句要么全部执行,要么全部不执行。事务用来处理insert、update、del原创 2022-01-10 09:16:20 · 1276 阅读 · 0 评论 -
MySQL-InnoDB数据页结构分析
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net页(Page)是 InnoDB 存储引擎用于管理数据的最小磁盘单位。常见的页类型有数据页、Undo 页、系统页、事务数据页等,本文主要分析的是数据页。默认的页大小为 16KB,每个页中至少存储有 2 条或以上的行记录,本文主要分析的是页与行记录的数据结构。下图是 InnoDB 逻辑存储结构图,从上往下依次为:Tablespace、Segment、Exten原创 2022-01-10 09:08:19 · 346 阅读 · 0 评论 -
数据库-三大范式
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net第一范式:列的原子性,即每列细分的不能再细分了。 第二范式:表的原子性,一张表细分的不能再细分了,一张表就描述一件事。 第三范式:表的每列都和主键直接相关,而不是间接相关。...原创 2022-01-05 13:30:41 · 439 阅读 · 0 评论 -
ElasticSearch的常用查询语句
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net基本的匹配(Query)查询GET /bookdb_index/book/_search?q=guide #查询任一字段包含guide的记录。下面是完整body版的查询:{ "query": { "multi_match": { "query": "guide", "fiel原创 2022-01-05 09:33:02 · 5197 阅读 · 0 评论 -
ElasticSearch的精确查询
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net当进行精确值查找时,会使用过滤器(filters)。它执行速度快,不会计算相关度,且容易被缓存。Term查询会查找指定的精确值。通常查找一个精确值的时候,你不希望对查询进行评分计算,只希望对文档进行包括或排除的计算,所以会使用constant_score查询以非评分模式来执行term查询,如:GET /my_store/products/_search原创 2022-01-05 08:46:43 · 1630 阅读 · 0 评论 -
MySQL的索引是如何实现的
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.netMySQL中索引分三类:B+树索引、Hash索引、全文索引。InnoDB存储引擎中用的是B+树索引。要介绍B+树索引,不得不提二叉查找树、平衡二叉树和B树这三种数据结构。B+树是从它们三个演化来的。二叉查找树:图中为user表建立了一个二叉查找树的索引。节点中存储了键(key)和数据(data)。数据对应user表中的行数据。如果查找id=12原创 2022-01-04 21:39:17 · 32832 阅读 · 20 评论 -
MongoDB的分片
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net分片(sharding)是MongoDB用来将大型集合分割到不同服务器(或者说一个集群)上所采用的方法。Mongo的分片是全自动的,这点和MySQL是不同的。分片的目的:高数据量和吞吐量会对单机的性能造成很大压力,大的查询量会将单机的CPU耗尽,为了解决这个问题,有2个基本方法:垂直扩展(增加更多CPU和存储资源)和水平扩展(将数据集分布在多个服务器上,水原创 2022-01-04 20:51:30 · 427 阅读 · 0 评论 -
MongoDB的索引是如何实现的
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netMongoDB的索引为B-树。B+树和B-树的区别:1、B+树内节点不存储数据,所有data存储在叶节点,导致查询的时间复杂度为logn。而B-树查询时间复杂度不固定,与key在树中的位置有关,最好为O(1)。2、B+树叶节点相连,可增加区间访问性,支持范围查询。而B-树每个节点key和data存储在一起,无法进行区间查找。3、B+树适合外部存储。由原创 2022-01-04 18:27:36 · 373 阅读 · 0 评论 -
数据库-影子表
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net影子表指的是一张真实表“背后”创建的表。当完成建表操作后,可以通过一个原子的重命名操作切换影子表和原表。例如:如果需要创建user表,则可以先创建user_new表,然后填充好数据,最后和真实表切换。drop table if exists user_new, user_old;create table user_new like user;ren原创 2022-01-04 18:12:57 · 4306 阅读 · 0 评论 -
数据库-分库分表
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。这时,就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,数据切分分为两种方式原创 2022-01-04 18:07:29 · 687 阅读 · 0 评论 -
MySQL-事务隔离级别
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net一、事务的基本特性(ACID)1、原子性(Atomicity):一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个状态。事务在执行过程中发生错误,会被回滚(rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。2、一致性(Consistency):在事务开始之前和事务结束以后,数据库的完整性没有原创 2022-01-02 21:42:55 · 303 阅读 · 0 评论 -
MySQL-SQL优化方式
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net1 尽量使用索引查询,避免全表扫描。2 不要用or,而使用union。3 连续数值查询使用between,不用in和not in。4 where查询条件中不要使用表达式。5 where查询条件中不要使用函数。6 使用inner join、left join、right join代替子查询。7 in()适合B表比A表数据小的情况,exists()适合原创 2022-01-02 20:49:25 · 256 阅读 · 0 评论 -
MySQL-为什么采用B+树作为索引的数据结构
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net索引本身数据量也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储到磁盘上。这样的话,索引查找过程中就要产生磁盘I/O消耗,相对于内存存取,I/O存取的消耗要高几个数量级,所以索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数,提升索引效率。常用的查找结构:顺序查找:最基本的查询算法-复杂度O(n),大数据量此算法效率糟糕。二叉树原创 2022-01-02 19:21:24 · 181 阅读 · 0 评论 -
MySQL-数据库的索引类型有哪些
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net使用索引可以大大提高MySQL的检索速度,但是也会降低更新表的速度,索引虽好可不要贪多哦。有哪些索引可供选择呢?1、普通索引最基本的索引,它没有任何限制,用于加速查询。创建方法:a.建表的时候一起创建CREATE TABLE mytable (name VARCHAR(32), INDEX index_mytable_name (name))原创 2022-01-02 18:13:28 · 1852 阅读 · 0 评论 -
MySQL-InnoDB和MyIsam的区别
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net1、InnoDB和MyIsam是什么?InnoDB和MyIsam是MySQL最常用的两种存储引擎。MySQL有多种存储引擎,每种存储引擎有各自的优缺点。可以使用命令"show engines"查看引擎。2、如何使用InnoDB和MyIsam?MySQL 5.5版本以及以后默认使用InnoDB,如果创建表时候不指定存储引擎默认使用InnoDB。如果不想.原创 2022-01-02 17:45:50 · 190 阅读 · 0 评论 -
Java-如何避免SQL注入漏洞
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net1、简单又有效的方法是使用PreparedStatement采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setXXX(如:setString)方法传值即可。好处:(1).代码的可读性和可维护性变好。(2).PreparedStatement尽最大可能提高性能。(3).最重要的一点是极大地提高了安全性。原理:SQL注入只对SQL语句原创 2022-01-02 10:30:09 · 2282 阅读 · 2 评论 -
Java-数据库连接池有哪些优势?
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net1、资源重用由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性能开销。在减少系统消耗的基础上,另一方面也增进了系统运行环境的平稳性(减少内存碎片以及数据库临时进程/线程的数量)。2、更快的系统响应速度数据库连接池在初始化过程中,往往已经创建了若干数据库连接置于池中备用。此时连接的初始化工作均已完成。对于业务请求处理而言,直接利用现有可用连接,避免原创 2021-12-28 21:06:34 · 983 阅读 · 0 评论 -
MyBatis-如何实现分页
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net1、就是直接使用我们的SQL语句进行分页,也就是在Mapper里面加上分页的语句就好了。比如MySQL添加一个limit 2,4。这种方式弊端很大,比如我们不用MySQL了,所有的代码都要修改。2、使用成熟的框架MyBaits-Plus,它是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。如果你坚持要使用My原创 2021-12-28 13:13:11 · 5734 阅读 · 0 评论 -
MyBatis-#{}和${}的区别是什么
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请轻击http://www.captainbed.net1、#{}和${}的区别是什么?(1)使用#{}格式的语法,在MyBatis中会使用PreparedStatement语句来设置值。我们知道使用PreparedStatement有预编译的过程,效率比Statement更高,而且可能防止SQL注入。跟踪断点会看到即将执行的SQL中用“?”做占位符。同时,#{}写法会将传入的数据都当成一个字符串,会对传入的数据原创 2021-12-28 09:03:47 · 981 阅读 · 0 评论 -
DB-事务隔离级别
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net在一个典型的应用程序中,多个事务同时运行,经常会为了完成他们的工作而操作同一个数据。并发虽然是必需的,但是会导致如下问题:脏读脏读发生在一个事务读取了被另一个事务改写但尚未提交的数据时。如果这些改变在稍后被回滚了,那么第一个事务读取的数据就会是无效的。不可重复读不可重复读发生在一个事务执行相同的查询两次或两次以上,但每次查询结果都不相同时。这通常是由于另一原创 2021-12-12 22:04:07 · 695 阅读 · 0 评论 -
MySQL日志-RedoLog、UndoLog与BinLog
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netRedoLogRedoLog是InnoDB存储引擎层的日志,又称重做日志,用于记录事务操作的变化,记录的是数据修改之后的值,不管事务是否提交都会记录下来。在实例和介质失败(Media Failure)时,RedoLog文件就能派上用场,如数据库掉电,InnoDB存储引擎会使用RedoLog恢复到掉电前的时刻,以此来保证数据的完整性。在一条更新语句进行执原创 2021-12-12 21:30:47 · 207 阅读 · 0 评论 -
MySQL-逻辑架构图
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net原创 2021-12-12 17:42:36 · 1942 阅读 · 0 评论 -
SQL-DDL和DML的区别
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netDDL和DML之间的主要区别在于:DDL有助于更改数据库的结构,而DML有助于管理数据库中的数据。本质区别DDL代表数据定义语言(Data Definition Language),是一种有助于创建数据库模式的SQL命令。而DML代表数据操作语言(Data Manipulation Language),是一种有助于检索和管理关系数据库中数据的SQL命令原创 2021-12-09 11:37:44 · 1860 阅读 · 0 评论 -
Redis-监视器-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net客户端可以通过执行MONITOR命令,将客户端转换成监视器,接收并打印服务器处理的每个命令请求的相关信息。当一个客户端从普通客户端变为监视器时,该客户端的REDIS_MONITOR标识会被打开。服务器将所有监视器都记录在monitors链表中。每次处理命令请求时,服务器都会遍历monitors链表,将相关信息发送给监视器。...原创 2021-11-30 15:54:20 · 808 阅读 · 0 评论 -
Redis-慢查询日志-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netRedis的慢查询日志功能用于记录执行时间超过指定时长的命令。Redis服务器将所有的慢查询日志保存在服务器状态的slowlog链表中,每个链表节点都包含一个slowlogEntry结构,每个slowlogEntry结构代表一条慢查询日志。打印和删除慢查询日志可以通过遍历slowlog链表来完成。slowlog链表的长度就是服务器所保存慢查询日志的原创 2021-11-30 15:45:29 · 888 阅读 · 0 评论 -
Redis-二进制位数组-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netRedis使用SDS来保存位数组。SDS使用逆序来保存位数组,这种保存顺序简化了SETBIT命令的实现,使得SETBIT命令可以在不移动现有二进制位的情况下,对位数组进行空间扩展。BITCOUNT命令使用了查表算法和variable-precision SWAR算法来优化命令的执行效率。BITOP命令的所有操作都使用C语言内置的位操作来实现。..原创 2021-11-30 15:27:27 · 485 阅读 · 0 评论 -
Redis-排序-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netSORT命令通过将被排序键包含的元素载入到数组里面,然后对数组进行排序来完成对键进行排序的工作。在默认情况下,SORT命令假设被排序键包含的都是数字值,并且以数字值的方式来进行排序。如果SORT命令使用了ALPHA选项,那么SORT命令假设被排序键包含的都是字符串值,并且以字符串的方式来进行排序。SORT命令的排序操作由快速排序算法实现。SOR原创 2021-11-30 14:09:52 · 442 阅读 · 0 评论 -
Redis-Lua脚本-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netRedis服务器在启动时,会对内嵌的Lua环境进行一系统修改操作,从而确保内嵌的Lua环境可以满足Redis在功能性、安全性等方面的需要。Redis服务器专门使用一个伪客户端来执行Lua脚本中包含的Redis命令。Redis使用脚本字典来保存所有被EVAL命令执行过,或者被SCRIPT LOAD命令载入过的Lua脚本,这些脚本可以用于实现SCRIPT原创 2021-11-30 10:18:56 · 704 阅读 · 0 评论 -
Redis-事务-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net事务提供了一种将多个命令打包,然后一次性、有序地执行的机制。多个命令会被入队到事务队列中,然后按先进先出(FIFO)的顺序执行。事务在执行过程中不会被中断,当事务队列中的所有命令都被执行完毕之后,事务才会结束。带有WATCH命令的事务会将客户端和被监视的键在数据库的watched_keys字典中进行关联,当键被修改时,程序会将所有监视被修改键的客户原创 2021-11-30 09:49:20 · 218 阅读 · 0 评论 -
Redis-发布与订阅-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net服务器状态在pubsub_channels字典保存了所有频道的订阅关系:SUBSCRIBE命令负责将客户端和被订阅的频道关联到这个字典里面,而UNSUBSCRIBE命令则负责解除客户端和被退订频道之间的关联。服务器状态在pubsub_patterns链表保存了所有模式的订阅关系:PSUBSCRIBE命令负责将客户端和被订阅的模式记录到这个链表中,而PUNS原创 2021-11-30 09:40:00 · 917 阅读 · 0 评论 -
Redis-集群-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net节点通过握手来将其他节点添加到自己所处的集群当中。集群中的16384个槽可以分别指派给集群中的各个节点,每个节点都会记录哪些槽指派给了自己,而哪些槽又被指派给了其他节点。节点在接到一个命令请求时,会先检查这个命令请求要处理的键所在的槽是否由自己负责,如果不是的话,节点将向客户端返回一个MOVED错误,MOVED错误携带的信息可以指引客户端转向至正在负责原创 2021-11-29 09:50:04 · 260 阅读 · 0 评论 -
Redis-Sentinel-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netSentinel只是一个运行在特殊模式下的Redis服务器,它使用了和普通模式不同的命令表,所以Sentinel模式能够使用的命令和普通Redis服务器能够使用的命令不同。Sentinel会读入用户指定的配置文件,为每个要被监视的主服务器创建相应的实例结构,并创建连向主服务器的命令连接和订阅连接,其中命令连接用于向主服务器发送命令请求,而订阅连接则用于接收原创 2021-11-26 19:16:01 · 492 阅读 · 0 评论 -
Redis-复制-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netRedis 2.8以前的复制功能不能高效地处理断线后重复制情况,但Redis 2.8新增加的部分重同步功能可以解决这个问题。部分重同步通过复制偏移量、复制积压缓冲区、服务器运行ID三个部分来实现。在复制操作刚开始的时候,从服务器会成为主服务器的客户端,并通过向主服务器发送命令请求来执行复制步骤,而在复制操作的后期,主从服务器会互相成为对方的客户端。原创 2021-11-26 16:12:38 · 607 阅读 · 0 评论 -
Redis-服务器-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net一个命令请求从发送到完成主要包括以下步骤:客户端将命令请求发送给服务器; 服务器读求命令请求,并分析出命令参数; 命令执行器根据参数查找命令的实现函数,然后执行实现函数并得出命令回复; 服务器将命令回复返回给客户端。serverCron函数默认每隔100毫秒执行一次,它的工作主要包括更新服务器状态信息,处理服务器接收的SIGTERM信息,管理客户端原创 2021-11-26 15:14:05 · 184 阅读 · 0 评论 -
Redis-客户端-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net服务器状态结构使用clients链表连接起多个客户端状态,新添加的客户端状态会被放到链表的末尾。客户端状态的flags属性使用不同标志来表示客户端的角色,以及客户端当前所处的状态。输入缓冲区记录了客户端发送的命令请求,这个缓冲区的大小不能超过1GB。命令的参数和参数个数和会被记录在客户端状态的argv和argc属性里面,而cmd属性则记录了客户端要原创 2021-11-25 09:58:44 · 748 阅读 · 0 评论 -
Redis-事件-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netRedis服务器是一个事件驱动程序,服务器处理的事件分为时间事件和文件事件两类。文件事件处理器是基于Reactor模式实现的网络通信程序。文件事件是对套接字操作的抽象:每次套接字变为可应答(acceptable)、可写(writable)或者可读(readable)时,相应的文件事件就会产生。文件事件分为AE_READABLE事件(读事件)和AE_原创 2021-11-24 19:12:44 · 198 阅读 · 0 评论 -
Redis-AOF持久化-重点知识
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netAOF文件通过保存所有修改数据库的写命令请求来记录服务器的数据库状态。AOF文件中的所有命令都以Redis命令请求协议的格式保存。命令请求会先保存到AOF缓冲区里面,之后再定期写入并同步到AOF文件。appendfsync选项的不同值对AOF持久化功能的安全性以及Redis服务器的性能有很大的影响。服务器只要载入并重新执行保存在AOF文件中的命原创 2021-11-24 10:35:00 · 145 阅读 · 0 评论