日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php riak,PHP-Riak:快速获取多个项目

發布時間:2023/12/14 php 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php riak,PHP-Riak:快速获取多个项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

假設我在PHP中有此數組.

$ids = [

246,

8362,

5241,

2586,

6548,

9372,

28504,

14,

5729

];

這些數組元素對應于存儲桶“ articles”中的項目,有時此數組的深度可能約為1000個元素.

目前,我正在遍歷所有這些數據,并將數據一一提取.

$articles = [];

foreach($ids as $id)

{

$articles[] = Riak::get("articles.$id");

}

這比id列表變得很長時我要花費的時間更多.

有沒有更快的方法可以從Riak桶中拉出物品清單?我環顧了一下,map-reduce很有用,但顯然會導致比我使用順序GET請求節省的開銷更多的開銷.

解決方法:

遺憾的是,要從Riak有效地獲取大量記錄非常困難,因為這些記錄分散在整個群集中,必須單獨進行檢索.一些客戶端庫最近獲得了對客戶端多獲取的支持,該支持允許使用多個連接并行獲取對象,但是我認為這還沒有到達PHP客戶端.

使用mapreduce進行此操作將減少對數據庫的調用次數,但不會導致仲裁讀取,因為它僅查詢覆蓋的一組分區.但是,Mapreduce是查詢數據的一種相當廣泛的方法,并且無法像直接鍵訪問那樣進行擴展或執行.

如果這是您需要執行的常見操作,則可能表明您的數據模型過于規范化,并且可能需要取消規范化以使其更好地支持您的應用程序及其訪問模式.

確切地說,如何最好地做到這一點需要有關您的數據以及訪問和查詢模式的知識.一種方法可能是使用已知的和可預測的密鑰基于例如固定范圍的商品ID.這將使文章的檢索效率更高,因為需要讀取的對象數量大大減少,但是在更新和插入時可能會增加您的復雜性.

另一種選擇是通過復制數據去規范化.如果您例如僅需要文章中的一些信息,您就可以將這些數據存儲在單獨的對象中,這些對象專門用于有效地服務于這些查詢.

在Riak中,通常比試圖從數據庫中準確獲取所需的記錄更好地檢索比您需要更多的對象,并在應用程序級別進行篩選.

標簽:riak,php

來源: https://codeday.me/bug/20191122/2056951.html

總結

以上是生活随笔為你收集整理的php riak,PHP-Riak:快速获取多个项目的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。