मैं नया हूँ Redis के लिए तो मैं कुछ गलत कर रहा हूँ, मुझे यकीन है:StackExchange.Redis server.Keys (पैटर्न: "IsVerySlow *")
मैं में मोटे तौर पर 16,000 कुंजी/मान संग्रहीत किया है Azure Redis।
मैं चाबियाँ लिखने के लिए निम्नलिखित का इस्तेमाल किया/महत्व देता
foreach (var worksheet in wksList)
{
var wksYYMM = string.Format("{0}{1:00}", worksheet.ReviewDt.Year, worksheet.ReviewDt.Month);
var wksKey = string.Format("{0}:{1}:{2}", provCode, wksYYMM, worksheet.AcctNbr);
string jsonStr = JsonConvert.SerializeObject(MakeWsListDto(worksheet, provCoderList, rvrList));
cache.StringSet(wksKey, jsonStr);
}
तो मेरी चाबियाँ इस तरह दिखेगा: "एपी: 201,401: AZ5798BK":
जब मैं की तरह एक देखने की कोशिश
var keys = server.Keys(pattern: "AP:201401:*"); // returns in milliseconds
var keyAry = keys.ToArray(); // returns in over one minute
(note: this returns 12 keys)
कुंजी को वापस करने में 1 मिनट 12 सेकंड लगते हैं। एक बार जब मेरे पास चाबियाँ हों तो उनको मान प्राप्त करने के लिए मिलीसेकंड लगते हैं। यदि मैं चाबियों के मूल्य पर पुन: प्रयास करता हूं और मान वापस करता हूं तो मुझे एक समान परिणाम मिलता है। मैंने समस्या को अलग करने के लिए ToArray() किया था।
यदि मैं redis-cli.exe में एक ही क्वेरी का प्रयास करता हूं तो यह मिलीसेकंड में वापस आता है।
क्या मैं इस आदेश का गलत इस्तेमाल कर रहा हूं?
धन्यवाद मार्क मैं इसे आज़मा दूंगा और आपको बता दूंगा कि यह कैसा चल रहा था। यह समझा सकता है कि redis-cli.exe इतना तेज़ क्यों है। – Weej
मार्क! हाँ वह जवाब था। एक फॉलो-अप प्रश्न: मैंने थोड़ा ऑप्टिमाइज़ेशन परीक्षण किया और पाया कि मुझे 2000 के माध्यम से पृष्ठों के आकार के साथ प्रदर्शन में वृद्धि जारी रही है, हालांकि यह लगभग 1650 के आसपास है। उस बिंदु पर यह लगभग 180 मिलीसेकंड पर बंद हो गया था। दो प्रश्न: क्या पेजिज़ ऑप्टिमाइज़ेशन डीबी आकार या कीबाइज का एक फ़ंक्शन है? दूसरा प्रश्न: क्लाइंट या सर्वर पर पेजसाइज के लिए स्मृति आवंटन होता है? आपके उत्तर के लिए बहुत बहुत धन्यवाद! – Weej
इससे मुझे 'सर्वर.केस' के साथ एक समान प्रदर्शन समस्या हल करने में मदद मिली। धन्यवाद! – G0dsquad