NSSet和NSMutableSet是无序的, 但是它保证数据的唯一性.当插入相同的数据时,不会有任何效果.从内部实现来说是hash表,所以可以常数时间内查找一个数据. 1.NSSet的使用 [NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造[NSSet setWithArray:(NSArray *)array];用数组构造[NSSet setWithObjects:...]:创建集合对象,并且初始化集合中的数值,结尾必需使用nil标志.[set cou…
在Cocoa Foundation中的NSSet和NSMutableSet ,和NSArray功能性质一样,用于存储对象属于集合.但是NSSet和NSMutableSet是无序的, 保证数据的唯一性,当插入相同的数据时,不会有任何效果. NSSet 初始化及常用操作 #import "AppDelegate.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIAppli…
模式概述 模式定义 模式结构图 饿汉式单例与懒汉式单例 饿汉式单例 懒汉式单例 模式应用 模式在JDK中的应用 模式在开源项目中的应用 模式总结 主要优点 适用场景 说明:设计模式系列文章是读刘伟所著<设计模式的艺术之道(软件开发人员内功修炼之道)>一书的阅读笔记.个人感觉这本书讲的不错,有兴趣推荐读一读.详细内容也可以看看此书作者的博客https://blog.csdn.net/LoveLion/article/details/17517213. 模式概述 模式定义 实际开发中,我们会遇到这…
NSSet.NSMutableSet基本用法 在Foundation框架中,提供了NSSet类,它是一组单值对象的集合,且NSSet实例中元素是无序,同一个对象只能保存一个. 一.不可变集合NSSet 1.NSSet的初始化 创建一个集合 NSSet *set1 = [[NSSet alloc] initWithObjects:@"one", @"two", nil]; 通过数组的构建集合 NSArray *array = [NSArrayWithObjects:@…
NSSet和NSArray功能性质一样,用于存储对象,属于集合:只能添加cocoa对象,基本数据类型需要装箱. NSSet . NSMutableSet是无序的集合,在内存中存储方式是不连续的,而NSArray是有序集合,在内存中存储位置是连续的. NSSet和我们常用NSArry区别是:在搜索一个元素时NSSet比NSArray效率高,主要是它用到了一个算法hash(哈希).比如你要存储元素A,一个hash算法直接就能直接找到A应该存储的位置:同样,当你要访问A时,一个hash过程就能找到A存…
事物的隔离级别与并发完美体现了cap理论(确保数据完整.安全.一致性,在此基础上实现高性能访问(鱼和熊掌不可兼得)…
工作中一直在用Oracle 的中间件Oracle GondenGate 是如何保证消息的有序和不丢失呢? Oracle GoldenGate逻辑架构 首先,先看一下Oracle GoldenGate 的逻辑架构: 图中涉及到两个阶段: 初始化阶段: extract 进程直接抽取源表信息经网络传输到target 端的 replicat进程,replicat 进程获取到初始化加载数据将其同步到目标数据源. 增量数据抓取阶段:extract 进程从源表redo log 或其他增量日志中解析并获取增量,…
1.NSSet的使用 [NSSet setWithSet:(NSSet *)set]; 用另外一个set对象构造 [NSSet setWithArray:(NSArray *)array];用数组构造 [NSSet setWithObjects:...]:创建集合对象,并且初始化集合中的数值,结尾必需使用nil标志. [set count] ; 得到这个结合对象的长度. [set containsObject:...]: 判断这个集合中是否存在传入的对象,返回Bool值. [set object…
NSSet在实际应用中与NSArray区别不大,但是如果你希望查找NSArray中的某一个元素,则需要遍历整个数组,效率低下.而NSSet在查找某一特定的元素的时候则是根据hash算法直接找到此元素的位置,效率高. NSSet是一个无序的,管理对个对象的集合类,最大特点是集合中不允许出现重复对象,和数学上的集合含义是一样的.除了无序,不许重复,其他功能和NSArray是一样的;需要注意的是:NSSet,NSArray里面只能添加cocoa对象,如果需要加入基本数据类型(int,float,BOO…
1 创建五个学生对象,放入数组并遍历 1.1 问题 创建一个自定义类TRStudent,为该类生成五个对象.把这五个对象存入一个数组当中,然后遍历数组. 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:定义类TRStudent 首先,在Day03工程中新添加TRStudent.h文件,用于定义新的类TRStudent. 代码如下所示:   #import <Foundation/Foundation.h> @interface TRStudent : NSObject @propert…
注意:现在已不推荐 escape 函数,推荐使用  encodeURIComponent 函数,其中方法更简单,只需进行URL解码即可. 当然了,如下文章解决方案一样可行. 前几天用Python的Bottle框架写个小web程序,在进行Ajax交互之时,前端则先用 JSON.stringify 来将类序列化,然后用escape() 函数将其编码,确保传输正确. 再基本上配合上Jquery的$.ajax应该就可以了,可能是经验不足,即使编码之后的数据依然在 Python 中难以处理. 后来慢慢思考…
转自:http://blog.csdn.net/likandmydeer/article/details/7939749 一.简介 集合(set)是一组单值对象,它可以是固定的(NSSet).也可以是可变的(NSMutableSet).集合可以比较.计算交集.并集,可变集合还可以有查找.添加.删除. 二.常用方法 #import <Foundation/Foundation.h> int main (int argc, char *argv[]) { NSAutoreleasePool*poo…
2019年10月23号,阿里云数据库RDS for MySQL 三节点企业版正式商用,RDS for MySQL三节点企业版基于Paxos协议实现数据库复制,每个事务日志确保至少同步两个节点,实现任意节点宕机后数据零丢失,数据库整体RPO为0.RDS for MySQL三节点企业版适用于数据敏感性业务,如金融行业,电商行业订单业务等. 据介绍,阿里云数据库RDS for MySQL 三节点企业版5.7 版本对数据复制算法重构,改变5.6版本基于raft算法的数据复制而代之以Paxos算法来接管副…
@_@||... 记性不好,备忘... 语句功能:查看当前数据库的所有表(根据所需,进行语句改写即可) SELECT * FROM sysobjects WHERE (xtype = 'U') 备注:xtype 取值范围如下: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 L = 日志 FN = 标量函数 IF = 内嵌表函数 P = 存储过程 PK = PRIMARY KEY 约束(类型是 K) RF = 复制筛选存储过程 S = 系统…
MongoDB 索引的使用, 管理 和优化 2014-03-25 17:12 6479人阅读 评论(0) 收藏 举报  分类: MongoDB(9)  [使用explain和hint] 前面讲高级查询选项时,提到过"$explain" 和 ”$hint“可以作为包装查询的选项关键字使用,其实这两个本身就可以作为操作游标的函数调用!游标调用explain函数会返回一个文档,用于描述当前查询的一些细节信息.这也不同于我们前面介绍的游标函数,前面提到的游标处理函数都是返回游标,可组成方法链调…
数据库优化的目标无非是避免磁盘I/O瓶颈.减少CPU利用率和减少资源竞争.为了便于读者阅读和理解,笔者参阅了Sybase.Informix和Oracle等大型数据库系统参考资料,基于多年的工程实践经验,从基本表设计.扩展设计和数据库表对象放置等角度进行讨论,着重讨论了如何避免磁盘I/O瓶颈和减少资源竞争,相信读者会一目了然. 基于第三范式的基本表设计 在基于表驱动的信息管理系统(MIS)中,基本表的设计规范是第三范式(3NF).第三范式的基本特征是非主键属性只依赖于主键属性.基于第三范式的数据库…
约束:1.非空约束a.字段不能为nullb.null 不等于 ''空字符串,oracle不允许把''写入到非空字符串型字段中2.主键约束a.指定某一列或某几列为主键列b.主键列必须具有非空约束c.主键列必须具有唯一约束:主键列的内容不重复;如果是多主键列,那么多列的内容整合后不重复d.一个表只能有一个主键约束e.作用:通过主键列能够确定唯一的一行数据;自动按照主键列生成索引,提高数据检索效率;确保数据的唯一性和规范性;f.方式:具有唯一性的代码字段:自动增长的整数值字段:Oracle通过序列实现…
AJAX 文档 AJAX开发简略...................................................................................................................................1 一.AJAX定义.............................................................................................…
SQL 创建索引的作用以及如何创建索引 SQL 创建索引的作用 一.使用索引的优点: 1.通过唯一性索引(unique)可确保数据的唯一性 2.加快数据的检索速度 3.加快表之间的连接 4.减少分组和排序时间 5.使用优化隐藏器提高系统性能 二.使用索引的原则: 1.在需要经常搜索的列上创建索引 2.主键上创建索引 3.经常用于连接的列上创建索引 4.经常需要根据范围进行搜索的列上创建索引 5.经常需要排序的列上创建索引 6.经常用于where子句的列上创建索引 三.不创建索引的原则: 1.查询…
在我们python开发过程很多 ,在很多地方都会用到单例模式,确保数据的唯一性,最简单的单例模式,我们可以模块导入的方式实现,因为导入文件,无论import多少次  都只导入一次模块. 方法一:装饰器 利用装饰器只会执行一次的特性 def singleton(cls): instances = []# 为什么这里不直接为None,因为内部函数没法访问外部函数的非容器变量 def getinstance(*args, **kwargs): if not instances: instances.a…
一. 业务场景 业务流程需要进行写入和更新的比较,所以有原表和历史表. 要求表中的ID唯一性,以及两张表的ID关联,另外后续可能数据库会进行迁移 二.方案选择 方案一:id设置为int型自增长. 这种做法编程简单,无需考虑id唯一性,由数据库帮忙维护.但是在此业务场景下存在缺点 1. 这里存在两张表关联.id自增长无法确保数据唯一性,也就无法保证原表与历史表进行数据映射.比如说,现在需要向原表A和历史表A_HISTORY表中插入相同的一条数据.插入A表后,发现无法取到A表的ID(A表的ID是主键…
数据库 为什么要用数据库 如何去存放数据?生活中有各种各样的数据.比如说人的姓名.年龄.成绩等.平时我们记录这些信息都是记在大脑中.人的记忆力有限,不可能什么都记住.所以后来人们把数据记录在石头上–>书本上.(不安全) 数据完整性 为了数据能够完整的保存下去.人们发明了数据库. 如果数据缺少完整性,记录时会提示错误信息. 数据库的种类 两大类:关系型数据库.非关系型数据库. 关系型数据库 关系表.比如说日常所见的成绩表excel文档. 关系表示一个二维表格. 每一行代表每一条信息. 每一列代表相…
create database qy97;/*创建数据库*/ use qy97; /*使用数据库 use 数据库名*/ show tables; /*查看所有的表*/ select database();/*查看当前所在的数据库*/ /*================================================== 1.创建表*/ /*创建表stu*/ /*创建表格式: create table 表名( 列名1 数据类型 约束 , 列名2 数据类型 约束, 列名3 数据类型…
数据库索引 作用: 提高查询速度 确保数据的唯一性 可以加速表和表之间的连接,实现表和表之间的参照完整性 使用分组和排序子句进行数据检索时,可以减少分组和排序的时间 全文检索字段进行搜素优化 分类: 主键索引(PRIMAY KEY)(聚集索引) 唯一索引(UNIQUE)(非聚集索引) 常规索引(INDEX)(非聚集索引) 全文索引(FULLTEXT)(非聚集索引) 主键索引 主键: 某一个属性组能唯一标识一条记录 如:学生表(学号,姓名,班级,性别等等),学号时唯一标识的,可以作为主键 特点:…
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第5篇]:事务索引备份视图 MySQL事务 事务就是将一组SQL语句放在同一批次内去执行 如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行 MySQL事务处理只支持InnoDB和BDB数据表类型 事务的ACID原则 原子性(Atomic) 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节.事务在执行过程中发生错误,会被回滚(ROLLBAC…
MySQL自动编号,确保数据的唯一性…
一:约束 作用:是为了保证数据的完整性而实现的一套机制,它具体的根据各个不同的数据库的实现而有不同的工具(约束): 这里主要讲解mysql的约束: 1.非空约束:not null; 指示某列不能存储 NULL 值 2.唯一约束:unique();uk unique约束的字段,要求必须是唯一的,但null除外: 3.主键约束:primary key();pk 主键约束=not  null + unique,确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录.…
一.数据表 为了确保数据的完整性和一致性,在创建表时指定字段名称,字段类型和字段属性外,还需要使用约束(constraint),索引(index),主键(primary key)和外键(foregin key)等. 约束条件: not null 非空约束 unique 唯一性约束 primary key 主键约束 foreign key 外键约束 check 检查约束 auto_increment 自动标识列(值会自动增1) 创建表: 修改表: 修改表的结构,如修改列的类型,添加新的字段,删除原…
sql优化提速整理 场景描述 在我们实际开发中,随着业务的不断增加,数据量也在不断的攀升,这样就离不开一个问题:数据查询效率优化 根据自己的以往实际项目工作经验和学习所知,现在对SQL查询优化做一个简单的梳理总结,总结的不好之处,望多多指点交流学习 主要通过以下几个点来进行总结分析:索引.语句本身.分区存储.分库分表 索引 在实际工作中,sql优化第一想到的应该就是索引,因为添加索引能够很直观的提升查询效率,但是在添加索引的时也不是越多多好,下面简单总结一下索引的实际使用 索引简介 关于索引的定…
1.解释mvc (1)mvc即 模型model,视图view,控制器controller:是一种模型,是一种编程思想,就是把一个应用的输入.输出.数据处理分开,分解耦合(2)A..视图,数据采集和处理,和用户请求,不包括业务流程,smarty实现B.模型,接收数据和请求,完成相关数据处理,返回数据,’黑箱‘操作,核心,php类库实现C.控制器,任务的实现,根据传入数据调用各种组件完成任务,将结果传给视图显示,业务流程的实现.(3)mvc的优点:使开发人员只关注某一层,很容易用新代替旧层次的实现,…