前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >docker nacos部署(Windows版本、Linux版本)

docker nacos部署(Windows版本、Linux版本)

原创
作者头像
lucky鹿鹿
发布于 2023-04-08 11:07:40
发布于 2023-04-08 11:07:40
6.9K00
代码可运行
举报
文章被收录于专栏:Java学习~Java学习~
运行总次数:0
代码可运行

ps:如果没有安装docker的可以参考我的另一篇文章

注:选择用docker部署nacos的原因:方便管理。docker采用容器镜像的方式进行管理,可以很方便的启动或者关闭nacos,即使不小心把nacos报废了,也可以很快部署一个,还有自己想开启nacos集群也非常方便

Windows docker部署nacos

1、从docker仓库拉取nacos

docker仓库网站:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#这样拉取会默认拉取最新版本
docker pull nacos/nacos-server
#这样可以拉取指定版本(我用这个版本)
docker pull nacos/nacos-server:v2.1.1

2、启动一个临时的nacos(之后会删除的,主要用于获取配置文件)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -p 8848:8848 --name nacos -d nacos/nacos-server:v2.1.1

3、复制配置文件到本地

注:新建一个文件,用于存放配置文件 例如:D:\develop\nacos-docker

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker cp nacos:/home/nacos/logs/ "D:\develop\nacos-docker"
docker cp nacos:/home/nacos/conf/ "D:\develop\nacos-docker"

如果出现以下情况,其实就是权限问题,用管理员权限运行,或者更改目录权限

4、删除容器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker rm -f nacos

5、运行sql语句(我用的数据库是mysql)

在此提供该版本的sql,当然你也可以自己去它官方的GitHub

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*
 * Copyright 1999-2018 Alibaba Group Holding Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *//******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info   */
/******************************************/
CREATE TABLE `config_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) DEFAULT NULL,
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `c_desc` varchar(256) DEFAULT NULL,
  `c_use` varchar(64) DEFAULT NULL,
  `effect` varchar(64) DEFAULT NULL,
  `type` varchar(64) DEFAULT NULL,
  `c_schema` text,
  `encrypted_data_key` text NOT NULL COMMENT '秘钥',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_aggr   */
/******************************************/
CREATE TABLE `config_info_aggr` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) NOT NULL COMMENT 'group_id',
  `datum_id` varchar(255) NOT NULL COMMENT 'datum_id',
  `content` longtext NOT NULL COMMENT '内容',
  `gmt_modified` datetime NOT NULL COMMENT '修改时间',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';
​
​
/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_beta   */
/******************************************/
CREATE TABLE `config_info_beta` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `encrypted_data_key` text NOT NULL COMMENT '秘钥',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_tag   */
/******************************************/
CREATE TABLE `config_info_tag` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_tags_relation   */
/******************************************/
CREATE TABLE `config_tags_relation` (
  `id` bigint(20) NOT NULL COMMENT 'id',
  `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `nid` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`nid`),
  UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = group_capacity   */
/******************************************/
CREATE TABLE `group_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = his_config_info   */
/******************************************/
CREATE TABLE `his_config_info` (
  `id` bigint(20) unsigned NOT NULL,
  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `data_id` varchar(255) NOT NULL,
  `group_id` varchar(128) NOT NULL,
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL,
  `md5` varchar(32) DEFAULT NULL,
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `src_user` text,
  `src_ip` varchar(50) DEFAULT NULL,
  `op_type` char(10) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `encrypted_data_key` text NOT NULL COMMENT '秘钥',
  PRIMARY KEY (`nid`),
  KEY `idx_gmt_create` (`gmt_create`),
  KEY `idx_gmt_modified` (`gmt_modified`),
  KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';
​
​
/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';
​
​
CREATE TABLE `tenant_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `kp` varchar(128) NOT NULL COMMENT 'kp',
  `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
  `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
  `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';CREATE TABLE `users` (
    `username` varchar(50) NOT NULL PRIMARY KEY,
    `password` varchar(500) NOT NULL,
    `enabled` boolean NOT NULL
);CREATE TABLE `roles` (
    `username` varchar(50) NOT NULL,
    `role` varchar(50) NOT NULL,
    UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);CREATE TABLE `permissions` (
    `role` varchar(50) NOT NULL,
    `resource` varchar(255) NOT NULL,
    `action` varchar(8) NOT NULL,
    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

6、修改配置

在你新建目录下的conf目录下的application.properties文件进行修改,例如我的:

D:\develop\nacos-docker\conf\application.properties

在12-16行进行修改(实际位置可能不同,找到db开头的就对了)

修改为你前面跑的数据库。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#数据库可以配置多个,第一个数据库连接不上,它会自动连接第二个
db.url.0=jdbc:mysql://localhost:3376/nacos?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
db.url.1=jdbc:mysql://localhost:3306/nacos_config?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
db.user=root
db.password=root

7、启动nacos容器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#“8898:8848” 解释:前面的8898为自己电脑的端口,8848为容器端口,也就是docker内部的端口。
#由于我的电脑8848端口被占用,所以我设置端口为8898
#由于没集群,所以使用单机模式启动,也就是:standalone
docker run --env MODE=standalone --name nacos -d -p 8898:8848 nacos/nacos-server:v2.1.1

8、打开浏览器,输入(账号密码都是:nacos,端口号为你自己设置的端口号)

http://localhost:8898/nacos

完成!!

Linux docker部署nacos(优雅版)

ps:docker要安装有docker-compose,我的上一篇文章有教如何安装

1、拉取nacos

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#最新的
docker pull nacos/nacos-server:latest

2、创建配置文件

创建一个名叫:nacos .yml文件 (其实名字叫什么无所谓)

内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: "2"
services:nacos:
    image: nacos/nacos-server:latest #你的镜像
    container_name: nacos #你的容器名称
    ports: #映射端口
      - 8848:8848
      - 9848:9848
      - 9849:9849
    restart: always 
    environment:
      - MODE=standalone #单机启动,如果想集群的自己改一下
      - NACOS_AUTH_ENABLE=true
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /home/nacos/data:/home/nacos/data #映射到本地的路径,这个映射的文件要自己创建
​
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#创建映射文件例子
cd /home/nacos
mkdir data

3、启动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#以nacos.yml文件进行启动,docker-compose 非常好用
docker-compose -f nacos.yml up -d

4、访问

密码账号都是:nacos

http://你的IP:8848/nacos

http://你的IP:9848/nacos

http://你的IP:9849/nacos

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
【iOS】基于Realm数据库的记账软件--时间线模块(三)
接下来,我们将开始搭建时间线界面。该模块是界面展示中最大的难点--时间线布局。那么,我们先来看看效果图,因为gif上传后,动不了。所以在这里用几张截图和文字简单的描述一下,具体效果大家可下载项目自行查看~
MapleYe
2020/03/31
9490
【iOS】基于Realm数据库的记账软件--时间线模块(三)
Realm数据库 从入门到“放弃”
Realm是由Y Combinator公司孵化出来的一款可以用于iOS(同样适用于Swift&Objective-C)和Android的跨平台移动数据库。目前最新版是Realm 2.0.2,支持的平台包括Java,Objective-C,Swift,React Native,Xamarin。
一缕殇流化隐半边冰霜
2018/08/30
5.3K0
【iOS】基于Realm数据库的记账软件--记账模块(二)
从记账的需求出发,该界面需要用户输入以下账单信息: (1)账单金额 (2)账单类型 (3)相关账户 (4)账单产生的日期 (5)备注 那么,结合一下需求,开始构思一下界面如何搭建吧。
MapleYe
2020/03/31
1.1K0
【iOS】基于Realm数据库的记账软件--记账模块(二)
手把手教你从 Core Data 迁移到 Realm - 简书
看了这篇文章的标题,也许有些人还不知道Realm是什么,那么我先简单介绍一下这个新生的数据库。号称是用来替代SQLite 和 Core Data的。Realm有以下优点:
一缕殇流化隐半边冰霜
2024/02/14
3350
手把手教你从 Core Data 迁移到 Realm - 简书
iOS开发实战-时光记账Demo 本地数据库版效果分析Demo地址
由于主页只是一个展示的时光轴界面,UIScrollView加几个按钮就能完成,需要读取数据库内容,所以我们先把内页-增加账单 完成。
gwk_iOS
2018/08/23
2.5K0
iOS开发实战-时光记账Demo 本地数据库版效果分析Demo地址
【iOS】基于Realm数据库的记账软件--钱包/记账模块(四)终
接下来,我们将开始钱包模块和记账模块。其实钱包模块是整个项目中最简单的一部分了,所以我将挑几个点说一说~还是老规矩,先看看界面效果: 图一:
MapleYe
2020/03/30
8620
【iOS】基于Realm数据库的记账软件--钱包/记账模块(四)终
iOS开发·第三方数据库处理框架:Realm 基本用法
除了FMDB,Realm也是一种很流行的数据库方案。 1. 官方资料 (最新版)Realm Objective‑C官方文档地址 https://realm.io/docs/objc/latest/ (中文版)Realm Objective‑C官方文档地址(内容相对英文版不一定是最新的)https://realm.io/cn/docs/objc/latest/ Realm官方API查阅手册 https://realm.io/docs/objc/latest/api/ GitHub源码地址 http
陈满iOS
2018/09/10
1.2K0
Realm、WCDB与SQLite移动数据库性能对比测试
Realm 是由Y Combinator孵化的创业团队开源出来的一款可以用于iOS(同样适用于Swift&Objective-C)和Android的跨平台移动数据库。目前最新版是Realm 2.0.2,支持的平台包括Java,Objective-C,Swift,React Native,Xamarin。
Cloudox
2021/11/23
4.4K0
Realm、WCDB与SQLite移动数据库性能对比测试
Java数据库项目之满汉楼
src/com/hspedu/mhl/dao/DiningTableDAO.java
timerring
2023/05/24
6800
Java数据库项目之满汉楼
【iOS】基于Realm数据库的记账软件--前言
笔者在今年毕业的时候,为了应付学校的毕业设计,因此做了一款基于Realm数据库的记账软件。现在毕业后,稍微闲下来了,所以打算将整个项目的核心实现步骤记录下来,供大家学习学习。当然,项目中肯定还存在着大大小小的bug,例如数据的溢出等细节处理。那么先让大家看看项目的效果图吧~
MapleYe
2020/03/31
8520
【iOS】基于Realm数据库的记账软件--前言
[iOS学习笔记]·FMDB:第三方数据库处理框架·用法示例篇(附源码Demo)
FMDatabase的实例对象_db在执行SQL语句的时候采取类似下面的代码。其中,有两种风格,一种在executeUpdate方法后面直接写上字符串的字面量语法。另一种在执行方法的后面基于SQL字符串初始化一个NSString对象。
陈满iOS
2018/09/10
1.1K0
[iOS学习笔记]·FMDB:第三方数据库处理框架·用法示例篇(附源码Demo)
微信公号DIY:MongoDB 简易ORM & 公号记账数据库设计
介绍了如何使用搭建&训练聊天机器人以及让公号支持图片上传到七牛,把公号变成一个七牛图片上传客户端。这一篇将继续开发公号,让公号变成一个更加实用的工具账本(理财从记账开始)。
goodspeed
2020/12/22
1.5K0
微信公号DIY:MongoDB 简易ORM & 公号记账数据库设计
iOS开发实战-时光记账Demo 网络版效果分析客户端部分服务端部分Demo地址简书主页
user表 相反Tally与Users的关系就是:一对多
gwk_iOS
2018/08/23
2.7K0
iOS开发实战-时光记账Demo 网络版效果分析客户端部分服务端部分Demo地址简书主页
【Android】Realm详解
介绍 Realm 是一个 MVCC (多版本并发控制)数据库,由Y Combinator公司在2014年7月发布一款支持运行在手机、平板和可穿戴设备上的嵌入式数据库,目标是取代SQLite。 Realm 本质上是一个嵌入式数据库,他并不是基于SQLite所构建的。它拥有自己的数据库存储引擎,可以高效且快速地完成数据库的构建操作。和SQLite不同,它允许你在持久层直接和数据对象工作。在它之上是一个函数式风格的查询api,众多的努力让它比传统的SQLite 操作更快 。 详细介绍(如果进不去,看这个也行)
Gavin-ZYX
2018/05/18
4.6K0
iOS开发之EventKit框架的应用
      iOS系统自带的Calendar应用非常强大,用户可以在其中添加日程事件,并且其提供了接口供其他应用进行调用,可以向日历中进行事件的读取和写入。
珲少
2019/07/01
4.2K0
iOS开发之EventKit框架的应用
iOS中CoreData数据管理系列三——添加与查询数据
    在前两篇博客中,分别介绍了iOS中CoreData框架创建数据模型和CoreData框架中的三个核心类。博客地址如下:
珲少
2018/08/15
9570
iOS中CoreData数据管理系列三——添加与查询数据
iOS本地数据存储
数据存储本质就是运行时的对象保存在文件、数据库中。数据存储可以分为两步:首先是将对象转换成二进制数据,这一步也叫序列化;相反,将二进制数据转换成对象则称为反序列化;然后是考虑二进制数据如何保存和读取。
落影
2019/07/15
3.2K0
iOS本地数据存储
iOS开发实战之搜索控制器UISearchController使用
当tableView中的数据过多的时候,在tableView上加一个搜索框就变的很必要了,本文就讨论搜索控制器的使用,以及谓词的简单实现。
用户1219438
2018/12/26
2.9K0
iOS开发之蓝牙通讯 原
        蓝牙是设备近距离通信的一种方便手段,在iPhone引入蓝牙4.0后,设备之间的通讯变得更加简单。相关的蓝牙操作由专门的CoreBluetooth.framework进行统一管理。通过蓝牙进行通讯交互分为两方,一方为中心设备central,一方为外设peripheral,外设通过广播的方式向外发送信息,中心设备检索到外设发的广播信息,可以进行配对连接,进而进行数据交互。
珲少
2018/08/15
1.2K0
iOS开发——FMDB的使用
今天决定给手上的项目加上一个数据库,用来进行数据持久化操作,关于在iOS端的数据持久化方式的差异,这里也就不再赘述,相信如果真实使用并且去感受过的人,有自己的评判标准。
Originalee
2018/08/30
8150
推荐阅读
相关推荐
【iOS】基于Realm数据库的记账软件--时间线模块(三)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档