WRONGTYPE ভুল কী ধরণের মান পিএইচপি ধরে থাকা কীটির বিরুদ্ধে অপারেশন


141

হাই, আমি রেডিসের সাথে লারাভেল ব্যবহার করছি hen যখন আমি পদ্ধতিটি ব্যবহার করে কোনও কীটি অ্যাক্সেস করার চেষ্টা করছি তখন নিম্নলিখিত ত্রুটিটি পেয়ে যাব "ভুল ধরণের মানকে ধরে রাখার জন্য WRONGTYPE অপারেশন"

আমি মূল মানটি অ্যাক্সেস করতে নিম্নলিখিত কোডগুলি ব্যবহার করছি -

redis থেকে ডেটা পেতে আমি এই কোডটি ব্যবহার করি

$values = "l_messages";
$value = $redis->HGETALL($values);
print($value);

উত্তর:


357

রেডিস 5 ডেটা ধরণের সমর্থন করে। একটি কী মানচিত্র কী কী মানতে হবে তা আপনাকে জানতে হবে, প্রতিটি ডাটা টাইপের হিসাবে এটি পুনরুদ্ধার করার আদেশটি আলাদা।

মূল মানটি পুনরুদ্ধার করার জন্য এখানে আদেশগুলি দেওয়া হয়েছে:

  • মানটি যদি স্ট্রিংয়ের হয় -> জিইটি <key>
  • যদি মান হ্যাশ -> HGETALL হয় <key>
  • যদি মান টাইপ তালিকার হয় -> লরঞ্জ <key> <start> <end>
  • যদি মান টাইপ সেট হয় -> গন্ধযুক্ত <key>
  • মানটি যদি প্রকার অনুসারে বাছাই করা সেট হয় -> ZRANGEBYSCORE <key> <min> <max>

TYPEএকটি কী কী মান ম্যাপ করছে তার ধরণটি পরীক্ষা করতে কমান্ডটি ব্যবহার করুন :

  • আদর্শ <key>

আপনি দিনটি সংরক্ষণ করেছেন :-)
জিন মিন

8

এই ত্রুটির অর্থ হল "l_messages" কী দ্বারা সূচিত মানটি টাইপের নয় hash, বরং অন্য কিছু। আপনি সম্ভবত আপনার কোডটিতে অন্য মানটিতে এটি সেট করেছেন। কোনটি কাজ করে তা দেখতে GET দিয়ে শুরু করে অন্যান্য বিভিন্ন মান-প্রাপ্তকারী কমান্ড ব্যবহার করে দেখুন এবং আসলে এখানে কী ধরণের তা আপনি জানতে পারবেন।


8
প্রকৃতপক্ষে, print($redis->TYPE($values));অনুমানবিহীন এটি এটি আপনার কাছে বলবে;)
Itamar Haber

1
দুর্দান্ত :) এই আদেশটি জানেন না, এটি কখনও ব্যবহার করতে হয়নি। এখানে ডকুমেন্টেশনটি রয়েছে: redis.io/commands/type
অগ্রিম 512
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.