আপনার সার্ভারের পার্শ্ব যুক্তির উপর নির্ভর করে দুটি পন্থা থাকতে পারে।
পন্থা 1: যখন সার্ভার বস্তুর অবস্থা পরিচালনা করতে যথেষ্ট স্মার্ট না হয়।
আপনি সমস্ত ক্যাশেড রেকর্ড অনন্য আইডি সার্ভারে প্রেরণ করতে পারেন, উদাহরণস্বরূপ ["id1", "id2", "id3", "id4", "id5", "id6", "id7", "id8", "id9", "আইডি 10"] এবং আপনি নতুন রেকর্ডের জন্য অনুরোধ করছেন কিনা তা জানতে একটি বুলিয়ান প্যারামিটার (রিফ্রেশ করতে টানুন) বা পুরানো রেকর্ডগুলি (আরও লোড করুন)।
আপনার বিভাজককে নতুন রেকর্ডগুলি (রিফ্রেশ করার জন্য টানার মাধ্যমে আরও রেকর্ড বা নতুন রেকর্ড লোড করা) পাশাপাশি ["id1", "id2", "id3", "id4", "id5", " id6 "," id7 "," id8 "," id9 "," id10 "]।
উদাহরণ: -
আপনি যদি আরও বেশি বোঝার জন্য অনুরোধ করছেন তবে আপনার অনুরোধটি এর মতো দেখতে হবে: -
{
"isRefresh" : false,
"cached" : ["id1","id2","id3","id4","id5","id6","id7","id8","id9","id10"]
}
এখন ধরা যাক আপনি পুরানো রেকর্ডগুলির জন্য অনুরোধ করছেন (আরও বেশি লোড করুন) এবং ধরুন যে "আইডি 2" রেকর্ডটি কেউ আপডেট করেছে এবং "আইডি 5" এবং "আইডি 8" রেকর্ডগুলি সার্ভার থেকে মুছে ফেলা হয়েছে তবে আপনার সার্ভারের প্রতিক্রিয়াটি এর মতো দেখতে হবে: -
{
"records" : [
{"id" :"id2","more_key":"updated_value"},
{"id" :"id11","more_key":"more_value"},
{"id" :"id12","more_key":"more_value"},
{"id" :"id13","more_key":"more_value"},
{"id" :"id14","more_key":"more_value"},
{"id" :"id15","more_key":"more_value"},
{"id" :"id16","more_key":"more_value"},
{"id" :"id17","more_key":"more_value"},
{"id" :"id18","more_key":"more_value"},
{"id" :"id19","more_key":"more_value"},
{"id" :"id20","more_key":"more_value"}],
"deleted" : ["id5","id8"]
}
তবে এই ক্ষেত্রে যদি আপনি প্রচুর স্থানীয় ক্যাশেড রেকর্ড হিসাবে ধরে রাখেন 500, তবে আপনার অনুরোধের স্ট্রিংটি এর চেয়ে দীর্ঘ হবে: -
{
"isRefresh" : false,
"cached" : ["id1","id2","id3","id4","id5","id6","id7","id8","id9","id10",………,"id500"]//Too long request
}
পদ্ধতির 2: যখন সার্ভারটি তারিখ অনুসারে অবজেক্টের অবস্থা পরিচালনা করতে যথেষ্ট স্মার্ট থাকে।
আপনি প্রথম রেকর্ডের ID এবং শেষ রেকর্ড এবং পূর্ববর্তী অনুরোধের সময় প্রেরণ করতে পারেন। আপনি প্রচুর পরিমাণে ক্যাশেড রেকর্ড থাকলেও আপনার অনুরোধটি সর্বদা ছোট
উদাহরণ: -
আপনি যদি আরও বেশি বোঝার জন্য অনুরোধ করছেন তবে আপনার অনুরোধটি এর মতো দেখতে হবে: -
{
"isRefresh" : false,
"firstId" : "id1",
"lastId" : "id10",
"last_request_time" : 1421748005
}
আপনার সার্ভারটি মুছে ফেলা রেকর্ডগুলির আইডিটি ফিরিয়ে আনার জন্য দায়বদ্ধ যা শেষ_আপনিবাদ_সময়ের পরে মুছে ফেলা হয়েছে এবং পাশাপাশি "আইডি 1" এবং "আইডি 10" এর মধ্যে লাস্ট_রেকুস্ট_টাইমের পরে আপডেট হওয়া রেকর্ডটি ফিরিয়ে দেয়।
{
"records" : [
{"id" :"id2","more_key":"updated_value"},
{"id" :"id11","more_key":"more_value"},
{"id" :"id12","more_key":"more_value"},
{"id" :"id13","more_key":"more_value"},
{"id" :"id14","more_key":"more_value"},
{"id" :"id15","more_key":"more_value"},
{"id" :"id16","more_key":"more_value"},
{"id" :"id17","more_key":"more_value"},
{"id" :"id18","more_key":"more_value"},
{"id" :"id19","more_key":"more_value"},
{"id" :"id20","more_key":"more_value"}],
"deleted" : ["id5","id8"]
}
রিফ্রেশ করতে টানুন: -
আর ঢুকাও