gpt4 book ai didi

ios - YapDatabase 只使用单表存储数据

转载 作者:行者123 更新时间:2023-11-29 11:47:43 25 4
gpt4 key购买 nike

我正在寻找 iOS 上的键值存储数据库。应该是基于sqlite的,所以YapDatabase似乎是个不错的选择。

但我发现 YapDatabase 只使用一个表,引用“The main database table is named "database"”:CREATE TABLE "database2" ("rowid" INTEGER PRIMARY KEY, "collection" CHAR NOT NULL, "key" CHAR NOT NULL, "data" BLOB, "metadata" BLOB ) .所以我担心将不同类型的对象存储到同一列中。

例如,我计划将 YapDatabase 用于我的聊天应用程序,将每条消息存储到 |collection|key|object|metadata| 中.每条消息都有一个唯一的id,将用作键,消息内容通常是nstring,将用作对象,时间戳和其他一些数据用作元数据。就像 YapDatase 作者回答的一样 here .

有时会发送图片。图片很小,通常在几百 kbs 左右,我不想将它们存储为文件,我认为将它们存储为 blob 是合适的。

但如果我使用 YapDatabse,它们将与我的普通短信存储在同一个表中。那么我该如何进行一些查询,比如查找我所有的短信?

我的担忧是否有效(将不同类型的对象存储到同一列中)?我需要将它们存储在单独的表中吗?如果是,如何?如果没有,我如何轻松找到我的所有短信?

最佳答案

键/值存储的全部要点在于它仅使用键来标识值。所以如果要将消息和图片存储在同一个store中,必须保证它们有不同的key。

如果要将数据存储在单独的表中,请使用实际具有表的数据库,例如 SQLite。

关于ios - YapDatabase 只使用单表存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42779461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com