Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Velpro187
uni-app
提交
7a0cbab1
U
uni-app
项目概览
Velpro187
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7a0cbab1
编写于
4月 02, 2021
作者:
雪洛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: uniCloud concurrency & ttl
上级
a28b2912
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
72 addition
and
1 deletion
+72
-1
docs/uniCloud/cf-functions.md
docs/uniCloud/cf-functions.md
+54
-1
docs/uniCloud/db-index.md
docs/uniCloud/db-index.md
+14
-0
docs/uniCloud/release.md
docs/uniCloud/release.md
+4
-0
未找到文件。
docs/uniCloud/cf-functions.md
浏览文件 @
7a0cbab1
...
...
@@ -270,6 +270,58 @@ serverless默认是没有固定的服务器IP的,因为有很多服务器在
-
同一个服务空间内所有开启固定出口IP的云函数使用的是同一个IP。
-
如果你是免费版升配到付费版,开启
`固定IP`
功能后,会导致付费版到期无法自动降级到免费版,请注意按时续费
### 单实例并发度@concurrency
> 仅阿里云支持
默认情况下云函数仅支持单实例单并发,即同一时间一个实例仅可为一个用户服务。通过修改云函数单实例并发度,可以修改云函数同一时间最多能处理多少请求。请务必确保你已经了解了开启后的效果及负面作用后再决定是否要配置
未开启单实例多并发时,如果云函数在已有一个实例1处理A请求时收到B请求,会新开启一个实例2用来处理B请求。如果云函数并发度>=2,上述场景的B请求将还由实例1处理,而不会新开启实例2,此时B请求就不会遇到冷启动问题了。
**开启方式**
云函数详情页面配置单实例并发度即可,支持1-100之间的数值
**效果**
-
有效减少并发请求时云函数冷启动次数
**副作用**
-
云函数内存使用量会随着并发量增大而增加
-
如果同时处理的不同请求对全局变量进行读写会污染全局变量,可能会导致意想不到的后果,开启单实例多并发后请尽量不要使用全局变量,除非你知道后果是什么并且期望得到此结果
**关于uni-id的特殊说明**
```
js
// 开启单实例多并发前的uni-id用法
const
uniID
=
require
(
'
uni-id
'
)
exports
.
main
=
async
function
(
event
,
context
)
{
const
res
=
uniID
.
login
({
// ...一些参数
})
return
res
}
// 由于uni-id默认会从一个内置全局变量上获取客户端平台信息,不同请求会修改此全局变量可能造成混乱,开启单实例多并发后需要将uni-id修改为如下写法
let
uniID
=
require
(
'
uni-id
'
)
exports
.
main
=
async
function
(
event
,
context
)
{
let
uniIDIns
=
uniID
.
createInstance
({
// 创建uni-id实例,其上方法同uniID
context
:
context
// 传入context防止不同请求互相影响
})
const
res
=
uniIDIns
.
login
({
// ...一些参数
})
return
res
}
```
**进阶**
开启单实例多并发后的全局变量复用并非一定是坏的结果,如果你很了解此行为,也可以对此进行有效的利用
例:
[
ip-filter
](
https://ext.dcloud.net.cn/plugin?id=4619
)
中就利用云函数全局缓存一些ip访问信息来限制单ip访问频率,可以下载示例项目体验一下
## 云函数package.json@packagejson
...
...
@@ -308,7 +360,8 @@ package.json是一个标准json文件,不可带注释。下面是一个package
其中cloudfunction-config字段是云函数配置,支持的配置如下
```
js
{
{
"
concurrency
"
:
10
,
// 单个云函数实例最大并发量,不配置的情况下默认是1
"
memorySize
"
:
256
,
// 函数的最大可用内存,单位MB,可选值: 128|256|512|1024|2048,默认值256
"
timeout
"
:
5
,
// 函数的超时时间,单位秒,默认值5。最长为60秒,阿里云在定时触发时最长可以是600秒
// triggers 字段是触发器数组,目前仅支持一个触发器,即数组只能填写一个,不可添加多个
...
...
docs/uniCloud/db-index.md
浏览文件 @
7a0cbab1
...
...
@@ -133,6 +133,20 @@
![
地理位置索引
](
https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/21b31780-5fb0-11eb-bdc1-8bd33eb6adaa.jpg
)
### TTL索引@ttl
ttl索引用于设置数据过期时间,并在数据过期后进行删除。
配置方式如下:
![](
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/25187fa4-dc40-48a2-ba00-e6ad8c604c39.jpg
)
**注意**
-
数据删除并非实时,mongoDB会在后台定时进行数据清理
-
启用ttl索引后仅可添加一个索引字段
-
仅支持对存储了日志类型(并非时间戳)的字段进行设置ttl索引
## 索引使用注意事项
### 唯一性限制
...
...
docs/uniCloud/release.md
浏览文件 @
7a0cbab1
#### 2021-04-02
+
阿里云 新增 支持对云函数设置单实例并发度
[
详情
](
https://uniapp.dcloud.net.cn/uniCloud/cf-functions?id=concurrency
)
+
阿里云 新增 支持TTL索引
[
详情
](
https://uniapp.dcloud.net.cn/uniCloud/db-index?ttl
)
#### 2021-03-16
+
unicloud-db组件 add、update、remove方法新增可选参数needConfirm、needLoading、loadingTitle
[
详情
](
https://uniapp.dcloud.net.cn/uniCloud/unicloud-db?id=add
)
+
unicloud-db组件 新增 load 事件支持 pagination
[
详情
](
https://uniapp.dcloud.net.cn/uniCloud/unicloud-db?id=loadevent
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录