存储
文章平均质量分 61
扁豆的主人
进无止境,不忘初衷;坚持不懈,乐在其中。
展开
-
Elasticsearch
Elasticsearch是Java语言开发的分布式的查询系统,它的每一个节点(每一个运行实例)都是一个基于Lucene的查询引擎,把Lucene用Netty封装成服务。3)主数据和查询数据不一致时,这里的查询数据同步到最新数据会有一定的延时,大约为2秒。某些业务场景下用户可能无法接受这个延时,特别是跟钱有关的场景。1)用Elasticsearch存储查询数据时有一定延时,深度分页不能自由跳页,会有丢数据的可能性。2)主数据量越来越大后,写操作慢,当数据量上亿的时候,插入会有问题。原创 2023-07-24 22:02:24 · 514 阅读 · 0 评论 -
查询优化之“分库分表”
当主数据量越来越大时,写操作会越来越缓慢,此时可以考虑分表分库。举个实际例子:随着市场推广趋势,订单很快就会上亿,每天有100万的新订单,在不久的将来数据库的I/O和CPU很可能会支撑不住。为了使系统能承受这种日百万级新订单的压力,项目组最终决定使用分表分库:将订单表拆分,进行分布存储。原创 2023-07-24 22:19:11 · 152 阅读 · 0 评论 -
gitlab服务搭建
准备工作1.安装ssh:sudo yum install -y curl policycoreutils-python openssh-server2.将SSH服务设置成开机自启动:sudosystemctlenablesshd3.启动SSH服务:sudo systemctl start sshd4.安装防火墙yum install firewalld systemd -y5.开启防火墙:service firewalld start6.添加http服务到fire...原创 2021-10-20 12:06:18 · 309 阅读 · 0 评论 -
数组与链表
数组由于是紧凑连续存储,可以随机访问,通过索引快速找到对应元素,而且相对节约存储空间。但正因为连续存储,内存空间必须一次性分配够,所以说数组如果要扩容,需要重新分配一块更大的空间,再把数据全部复制过去,时间复杂度 O(N);而且你如果想在数组中间进行插入和删除,每次必须搬移后面的所有数据以保持连续,时间复杂度 O(N)。 链表因为元素不连续,而是靠指针指向下一个元素的位置,所以不存在数组的扩容问题;如果知道某一元素的前驱和后驱,操作指针即可删除该元素或者插入新元素,时间复杂度O(1)。但是正因为存储空..原创 2021-09-16 19:20:05 · 685 阅读 · 1 评论 -
堆与栈的作用与区别
栈是运行时的单位,而堆是存储的单位,堆和栈是程序运行的关键。 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;堆解决的是数据存储的问题,即数据怎么放、放在哪儿。 在Java中一个线程就会相应有一个线程栈与之对应,这点很容易理解,因为不同的线程执行逻辑有所不同,因此需要一个独立的线程栈。而堆则是所有线程共享的。栈因为是运行单位,因此里面存储的信息都是跟当前线程(或程序)相关信息的。包括局部变量、程序运行状态、方法返回值等等;而堆只负责存储对象信息。...原创 2021-07-29 17:27:27 · 2385 阅读 · 3 评论 -
MongoDB
概念由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能的数据存储解决方案,是非关系数据库当中功能最丰富,最像关系数据库的。特点数据组织形式更自由,适合那些对数据库具体数据格式不明确或者数据格式经常变化的需求模型。传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次组成,MongoDB是由数据库(database)、集合(col...原创 2020-02-02 13:47:49 · 117 阅读 · 0 评论