
数据结构
Asuna01
这个作者很懒,什么都没留下…
展开
-
Redis
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。...原创 2021-01-05 13:54:46 · 119 阅读 · 0 评论 -
Redis描述
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。Redis 优势性能极高 – Redis能读的速度是11000转载 2021-01-05 13:54:01 · 297 阅读 · 0 评论 -
Redis简述
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。开始学习 Redis原创 2021-01-05 13:53:27 · 144 阅读 · 0 评论 -
为什么不使用外键
使用后台程序启动事务的模式保证数据的一致性,以前使用外键只是为把原本程序做的事情,改为数据库做。而互联网尤其多数业务场景下,没有必要保持这样的数据一致性,而且通过后台程序+数据库事务即可,同时减少外键的使用,可以减少死锁的发生概率,提高数据库的并发处理能力。作者:mysqlops链接:https://www.zhihu.com/question/22360297/answer/21156126来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...原创 2021-01-05 13:52:03 · 171 阅读 · 0 评论 -
外键
1、所谓表的外键只不过是在数据库一级帮助你约束数据关系的完整性,加不加和业务处理毫无关系(不是说你加了外键你的技术就NB了呵呵)。加外键的确影响数据更新的效率,但到底影响多大就见仁见智了。我个人的倾向也是不加。2、【在ORM配置时,最好不要做一对多,多对多关联,完全靠程序控制数据完整性】这句话不敢苟同,如果连1对多都不做了,还用hibernate干甚?如果是怕影响效率,用惰性加载就ok了。...原创 2021-01-05 13:51:06 · 148 阅读 · 0 评论 -
数据库里面不建立主外键关系有什么好处?
不建议建立,使bai用外键有du利于维持数据完整zhi性和一致性,但dao是对于开发来说是zhuan非常不利shu的。每次做DELETE 或者UPDATE都必须考虑外键约束,会导致开发的时候很痛苦,而且需要更为复杂的错误捕获机制。做数据处理时会受到很多的束缚,有些地方本来就可以允许有部分冗余,但是由于设计了外键约束,只能放弃。出现BUG的时候追踪很麻烦。数据库的三个层次:物理数据层是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作转载 2021-01-05 13:50:21 · 528 阅读 · 0 评论 -
为什么尽量不要使用外键
1:在大数量的情况下,使用外键约束会导致很差的性能。一般互联网应想都不要去想外键这种东西了,连表连接查询最好都不要使用2:大数据量时进行表的水平切分,像外键约束、触发器、存储过程这些都是禁区3:数据完整性是业务的需要,因此得由业务层的应用程序来控制4:外键会导致表结构非常混乱,几乎是动都不能去动,一层套一层的外键约束,在表很多的情况下很可能会导致循环约束...原创 2021-01-05 13:49:35 · 2805 阅读 · 0 评论 -
分布式项目不用外键的原因
1.性能影响大型互联网项目或者分布式项目,进行更新操作时,会在影响数据库性能2.热更新如果数据库存在外键,会导致新更新上去的代码无法运行,可能产生冲突,需要重新启动项目3.降低耦合度删除外键是指物理上删除外键,但是逻辑上还是存在外键的,这样就降低了表与表之间的耦合度(举个例子:用户表与用户订单表,用户订单表是有user_id字段,要查询用户订单,要通过user_id,这个user_id字段还是存在的)4. 数据库分库分表导致分库分表难以实现,举个例子,用户表和订单表有个外键关联,做分库操作,却原创 2021-01-05 13:48:52 · 669 阅读 · 0 评论 -
什么是外键,外键的作用
什么是外键:如果一个实体的某个字段指向另一个实体的主键,就称为外键。被指向的实体,称之为主实体(主表),也叫父实体(父表)。负责指向的实体,称之为从实体(从表),也叫子实体(子表)外键的作用:①为了一张表记录的数据不要太过冗余。②保持数据的一致性、完整性。是否有必要使用外键?正方(需要) 1.数据一致性 由数据库自身保证数据一致性,完整性,更可靠,因为程序很难100%保证数据 的完整性,而用外键即使在数据库服务器当机或者出现其他问题的时候,也能够最大限度的保证数据的一致性和完整性。 e转载 2021-01-05 13:48:13 · 37807 阅读 · 1 评论 -
外键问题
为什么大多数项目的数据库都取消外键了(外键取消原因)弹指间bug灰飞烟灭 2020-05-26 14:03:02 458 收藏 1分类专栏: 数据库 文章标签: 数据库版权数据库外键如果一个字段a在一张表(表一)中是主关键字,而在另外一张表(表二)中不是主关键字,则字段a称为表二的外键;主键表和外键表的理解(1)以公共关键字(也就是两张表共有的字段)作主键的表为主键表(父表,主表)(2)以公共关键字(也就是两张表共有的字段)作外键的表为外键表(从表,外表)外键的作用主键保证了数据的唯原创 2021-01-05 13:47:17 · 260 阅读 · 0 评论 -
数据结构3
栈和队列栈栈(Stack)是限制在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶(Top),另一端为栈底(Bottom)。先进后出。top= -1时为空栈,top=0只能说明栈中只有一个元素,并且元素进栈时top应该自增顺序存储栈:顺序存储结构链栈:链式存储结构。插入和删除操作仅限制在链头位置上进行。栈顶指针就是链表的头指针。通常不会出现栈满的情况。 不需要判断栈满但需要判断栈空。两个栈共用静态存储空间,对头使用也存在空间溢出问题。栈1的底在v[1],栈2的底在V[m],则栈满转载 2021-01-03 23:30:43 · 345 阅读 · 1 评论 -
数据结构2
线性表线性表是一种典型的线性结构。头结点无前驱有一个后继,尾节点无后继有一个前驱。链表只能顺序查找,定位一个元素的时间为O(N),删除一个元素的时间为O(1)线性表的顺序存储结构:把线性表的结点按逻辑顺序依次存放在一组地址连续的存储单元里。用这种方法存储的线性表简称顺序表。是一种随机存取的存储结构。顺序存储指内存地址是一块的,随机存取指访问时可以按下标随机访问,存储和存取是不一样的。如果是存储,则是指按顺序的,如果是存取,则是可以随机的,可以利用元素下标进行。数组比线性表速度更快的是:原地逆序、返回中间转载 2021-01-03 23:30:12 · 132 阅读 · 0 评论 -
数据结构
数据结构一些概念数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。数据:所有能被输入到计算机中,且能被计算机处理的符号的集合。是计算机操作的对象的总称。数据元素:数据(集合)中的一个“个体”,数据及结构中讨论的基本单位数据项:数据的不可分割的最小单位。一个数据元素可由若干个数据项组成。数据类型:在一种程序设计语言中,变量所具有的数据种类。整型、浮点型、字符型等等逻辑结构:数据之间的相互关系。集合转载 2021-01-03 23:29:42 · 145 阅读 · 0 评论