当前位置: 首页 > news >正文

dedecms图片网站模板大连开发区招聘网站

dedecms图片网站模板,大连开发区招聘网站,sem竞价推广代运营,商务网站建设毕业设计模板下载dynamoDB 键 partition key:分区键 定义:分区键是用于分布数据存储的主键,每个项(Item)在表中都必须有一个唯一的分区键值。 特点: 唯一性:每个分区键值在表中必须是唯一的,这是因为…

dynamoDB

partition key:分区键
定义:分区键是用于分布数据存储的主键,每个项(Item)在表中都必须有一个唯一的分区键值。
特点:

  • 唯一性:每个分区键值在表中必须是唯一的,这是因为分区键决定了数据在物理存储中的位置。
  • 数据分布:选择一个良好的分区键可以确保数据在 DynamoDB 表中均匀分布。
    下面比较一些常见分区键架构的预置吞吐量效率:
    [图片]

sort key:排序键
定义:排序键是用于组织和查询表中数据的一部分主键,每个项目在表中都可以有一个分区键和一个可选的排序键。
特点:

  • 组合主键:在 DynamoDB 中,分区键和排序键一起形成组合主键。组合主键唯一标识表中的每个项目,并且排序键允许我们对项目进行排序和分组。
  • 唯一性:组合主键必须具有唯一性。
  • 查询速度快:在查询时可以通过二分查找快速定位到数据。

一般以时间作为排序键
索引
GSI (Global Secondary Index):全局二级索引

  • 可以是简单主键(分区键)或复合主键(分区键和排序键)
  • 可以在建表后更改
  • 可以跨分区查询整个表
    ps:分区只作用于物理分区,而对于索引没有意义,所以对于索引来说,GSI的partition key可以为任意字段,只要能够满足要求即可。
    LSI(Local Secondary Indexes):本地二级索引
  • 主键必须是复合主键(分区键和排序键)
  • 只能在建表时更改
  • 只能查询表中的单个分区

查询方式:

GetItem – 从表中检索单个项目。这是读取单个项目的最高效方式,因为它将提供对项目物理位置的直接访问。(DynamoDB 还提供
BatchGetItem 操作,允许在单个操作中执行最多 100 次 GetItem 调用。) Query –
检索具有特定分区键的所有项目。在这些项目中,您可以将条件应用于排序键并仅检索一部分数据。 Scan –
检索指定表中的所有项目。(不应对大型表使用此操作,因为这可能会占用大量系统资源。)

选择:

  • 查询GSI全局索引上的单个item,使用query
  • 查询同一个分区键的多个item,使用query
  • 查询不同分区键和排序键组合的多个项目,使用BatchGetItem
  • 仅在分区键上查找单个项目,使用GetItem

go第三方库:https://github.com/guregu/dynamo
Query:

  • RunWithContext()
  • AllWithContext()
  • CountWithContext()

GetItem:

  • OneWithContext()

mongodb

  1. 定义:
    索引是一个数据结构,它包含了表中某个或多个字段的值以及指向这些值对应的实际数据位置的引用。它类似于书籍的目录,允许数据库系统快速查找特定数据而无需扫描整个数据集合。

  2. 用途:

  • 提高查询性能
  • 加速排序
  • 唯一性约束
  1. 工作原理:
    索引通常是B树或B树的变种。当创建索引时,MongoDB会在指定的字段上构建索引数据结构,以存储值和对应的数据位置引用。在查询时,MongoDB可以使用索引来快速定位并检索数据。

  2. 关键概念:

  • 单字段索引:基于单个字段创建的索引。
  • 复合索引:基于多个字段创建的索引,可以包含多个字段的组合。
  • 唯一索引:确保索引字段的值在集合中是唯一的。
  • 文本索引:用于全文搜索的特殊索引。
  • 过期索引(ttl):定期检查该字段的时间戳

redis

数据类型

Redis 几种数据类型及应用场景 - 掘金
String 普通存储 适合存单value eg:粉丝数
hash 特别适合存储 value是map 适合存struct eg:用户信息对象
List 双向链表与消息队列 eg:粉丝列表
set 无序排重列表 eg:所有粉丝求共同关注
zset 提供score进行自动排序 eg:按时间取最新数据

幂等性

幂等方法是指可以使用相同参数重复执行,并能获得相同结果的函数。
保证函数不被重复执行
应用场景:多次重复点击购买商品
下面代码保证了只有第一次会设置键的值

func main() {...// 检查幂等性的 Lua 脚本script := `if redis.call('exists', KEYS[1]) == 0 thenredis.call('set', KEYS[1], ARGV[1])return 1elsereturn 0end`// 执行 Lua 脚本result, err := client.Eval(ctx, script, []string{key}, value).Result()if err != nil {fmt.Println("Error:", err)return}
}

elastic

go-elastic的写入、读取、查询方法

写入:BodyString(),BodyJson()
读取:cookie:searchAfter(LastSortMap)
fetchSource(true):默认true,查询结果将包括源文档的内容
fetchSource(false):仅可以访问文档的ID和排序信息

bool查询:允许组合多个查询条件,包括 must、should、must_not 等
must:必须包含
should:任意一个包含

query = query.Must(elastic.NewBoolQuery().Should(elastic.NewBoolQuery().Must(elastic.NewMatchQuery("xxx", 1), elastic.NewMatchQuery("uid", uid)),elastic.NewBoolQuery().MustNot(elastic.NewMatchQuery("xxx", 1)),
).MinimumShouldMatch("1"))

elastic的查询语法

GET hot_recommend/_search
{"query":{"match": {"creator" : "2W0qxSLm95WkjPyerQ6h4rMCeAB","ugcType": 1}},"sort": [{"updateTime": {"order": "desc"}}]}
http://www.yayakq.cn/news/145892/

相关文章:

  • 找设计师做网站个人视频网站源码
  • 在上海做钟点工的网站国家开发公司
  • 电子商城网站开发购物车莱芜网络公司网站
  • 推荐家居企业网站建设微网站预览
  • 电子商务网站建设与管理a创意设计网站大全
  • 深圳印刷网站建设wordpress手机版弹出式导航
  • 建设通网站怎么查项目经理在建网站建设需求原型
  • 网站托管jquery插件网站推荐
  • 东莞邦邻网站建设做网站卖资料
  • 准备php和易语言混编做网站外贸商城网站开发
  • 音乐网站页面设计凡客登录
  • 江苏中淮建设集团有限公司网站企业营销型网站有特点
  • 用数字做域名网站狂人采集器 wordpress
  • 做网站设置时间营销型网站建设明细报
  • wordpress企业建站流程建设部注册师网站
  • o2o商城网站制作重庆企业网站建设
  • 中博建设集团有限公司网站网站地图用什么格式
  • 网站建设策划案如何管理个人网站
  • 品牌推广的方式有哪些济南网站seo公司
  • 成都网站网络公司wordpress缓存文章页
  • 网站建设管理意见毕业设计和论文网站
  • 北京网站建设建站公司黑龙江建设网安全员考试报名
  • 比较好的网站开发公司互联网中厂有哪些公司
  • 网站建设专业的公司排名软文广告经典案例短的
  • 传动设备 技术支持 东莞网站建设东莞市工程建设安监站网站
  • 论基层门户网站的建设全网推广开户
  • 软件大全网址大地seo
  • 益阳市 网站建设网站建设 职位
  • mysql 网站登录密码wordpress设置段落
  • 六安网站建设六安推广下载