คำถามติดแท็ก caching

แคชเป็นกลไกสำหรับการจัดเก็บข้อมูลชั่วคราว (แคช) ในเครื่องเพื่อลดเวลาในการเข้าถึงข้อมูลที่จัดเก็บไว้ไกล สำหรับ CPU / ดิสก์ / การท่องเว็บโปรดใช้แท็กที่เกี่ยวข้อง (cpu-cache, diskcache, ... )

7
MemoryCache ไม่เป็นไปตามขีด จำกัด หน่วยความจำในการกำหนดค่า
ฉันกำลังทำงานกับคลาส. NET 4.0 MemoryCacheในแอปพลิเคชันและพยายาม จำกัด ขนาดแคชสูงสุด แต่ในการทดสอบของฉันไม่ปรากฏว่าแคชเป็นไปตามขีด จำกัด ฉันใช้การตั้งค่าซึ่งตาม MSDNควร จำกัด ขนาดแคช: CacheMemoryLimitMegabytes : ขนาดหน่วยความจำสูงสุดเป็นเมกะไบต์ที่อินสแตนซ์ของวัตถุสามารถขยายได้ " PhysicalMemoryLimitPercentage : "เปอร์เซ็นต์ของหน่วยความจำฟิสิคัลที่แคชสามารถใช้ได้แสดงเป็นค่าจำนวนเต็มตั้งแต่ 1 ถึง 100 ค่าดีฟอลต์คือศูนย์ซึ่งบ่งชี้ว่าอินสแตนซ์ MemoryCacheจัดการหน่วยความจำ 1ของตนเองตามจำนวนหน่วยความจำที่ติดตั้งบน คอมพิวเตอร์." 1.สิ่งนี้ไม่ถูกต้องทั้งหมด - ค่าใด ๆ ที่ต่ำกว่า 4 จะถูกละเว้นและแทนที่ด้วย 4 ฉันเข้าใจว่าค่าเหล่านี้เป็นค่าโดยประมาณและไม่ใช่ข้อ จำกัด อย่างหนักเนื่องจากเธรดที่ล้างแคชจะเริ่มทำงานทุกๆ x วินาทีและยังขึ้นอยู่กับช่วงเวลาการสำรวจและตัวแปรอื่น ๆ ที่ไม่มีเอกสาร อย่างไรก็ตามแม้จะคำนึงถึงความแปรปรวนเหล่านี้ แต่ฉันก็เห็นขนาดแคชที่ไม่สอดคล้องกันอย่างมากเมื่อรายการแรกถูกขับออกจากแคชหลังจากตั้งค่าCacheMemoryLimitMegabytes และPhysicalMemoryLimitPercentageร่วมกันหรือเอกพจน์ในแอปทดสอบ เพื่อให้แน่ใจว่าฉันทำการทดสอบแต่ละครั้ง 10 ครั้งและคำนวณตัวเลขเฉลี่ย นี่คือผลลัพธ์ของการทดสอบโค้ดตัวอย่างด้านล่างบนพีซี Windows 7 …
87 c#  .net  caching  memorycache 

6
ปิดการใช้งานการแคชเบราว์เซอร์สำหรับเบราว์เซอร์ทั้งหมดจาก ASP.NET
ฉันได้รับการอ้างอิงที่ชัดเจนถึงรหัส ASP.NET ที่จำเป็นในการปิดใช้งานเบราว์เซอร์จากการแคชหน้า มีหลายวิธีในการส่งผลกระทบต่อส่วนหัว HTTP และเมตาแท็กและฉันได้รับการแสดงผลที่แตกต่างกันต้องตั้งค่าเพื่อให้เบราว์เซอร์ต่างๆทำงานได้อย่างถูกต้อง จะเป็นการดีมากที่จะได้รับโค้ดอ้างอิงที่แสดงความคิดเห็นเพื่อระบุว่าใช้งานได้กับเบราว์เซอร์ทั้งหมดและจำเป็นสำหรับเบราว์เซอร์ใดโดยเฉพาะรวมถึงเวอร์ชัน มีข้อมูลจำนวนมากเกี่ยวกับปัญหานี้อยู่ที่นั่น แต่ฉันยังไม่พบข้อมูลอ้างอิงที่ดีที่อธิบายถึงประโยชน์ของแต่ละวิธีและว่าเทคนิคเฉพาะถูกแทนที่ด้วย API ระดับที่สูงกว่าหรือไม่ ฉันสนใจ ASP.NET 3.5 SP1 เป็นพิเศษ แต่มันก็เป็นการดีที่จะได้รับคำตอบสำหรับเวอร์ชันก่อนหน้านี้เช่นกัน รายการบล็อกนี้ความแตกต่างที่สำคัญสองประการระหว่าง Firefox และ IE Cachingอธิบายถึงความแตกต่างของพฤติกรรมโปรโตคอล HTTP บางประการ โค้ดตัวอย่างต่อไปนี้แสดงประเภทของสิ่งที่ฉันสนใจ public abstract class NoCacheBasePage : System.Web.UI.Page { protected override void OnInit(EventArgs e) { base.OnInit(e); DisableClientCaching(); } private void DisableClientCaching() { // Do any of these …

2
หาก redis เป็นส่วนหนึ่งของสแต็กแล้วเหตุใด Memcached จึงยังคงใช้ร่วมกับ Redis
Redis สามารถทำทุกอย่างที่ Memcached มีให้ (แคช LRU การหมดอายุของไอเท็มและตอนนี้กำลังรวมกลุ่มในเวอร์ชัน 3.x + ซึ่งปัจจุบันเป็นเบต้า) หรือโดยเครื่องมือเช่น twemproxy ประสิทธิภาพก็ใกล้เคียงกันด้วย Morever, Redis เพิ่มความคงอยู่เนื่องจากคุณไม่จำเป็นต้องทำการอุ่นแคชในกรณีที่เซิร์ฟเวอร์รีสตาร์ท การอ้างอิงถึงคำตอบเก่า ๆ ซึ่งเปรียบเทียบ Redis และ Memcache ซึ่งบางคำนิยมให้ Redis แทนที่ Memcache (หากมีอยู่แล้วในสแต็ก) Memcached กับ Redis? memcached เป็นไดโนเสาร์เมื่อเทียบกับ Redis หรือไม่? Redis และ Memcache หรือแค่ Redis? อย่างไรก็ตามในการศึกษาสแต็กของ บริษัท ขนาดใหญ่เช่น Instagram, Pinterest, Twitter และอื่น ๆ ฉันพบว่าพวกเขาใช้ทั้ง Memcached และ …

4
System.Runtime.Caching.MemoryCache กับ HttpRuntime.Cache - มีความแตกต่างหรือไม่?
ฉันสงสัยว่ามีความแตกต่างระหว่างMemoryCacheและHttpRuntime.Cacheข้อใดเป็นที่ต้องการในโครงการ ASP.NET MVC เท่าที่ฉันเข้าใจทั้งสองอย่างปลอดภัยเธรด API ตั้งแต่แรกเห็นเหมือนกันมากหรือน้อยกว่ากันดังนั้นเวลาที่จะใช้มีความแตกต่างกันอย่างไร

7
file_get_contents ได้รับผลลัพธ์ที่ผิด
ปรับปรุง ฉันแก้ไขปัญหาและโพสต์คำตอบ อย่างไรก็ตามโซลูชันของฉันไม่เหมาะอย่างยิ่ง 100% ฉันจะค่อนข้างลบเฉพาะsymlinkจากcacheด้วยclearstatcache(true, $target)หรือclearstatcache(true, $link)แต่ไม่ได้ทำงาน ฉันจะค่อนข้างป้องกันการแคชของ symlink ในสถานที่แรกหรือลบ symlink จากแคชทันทีหลังจากสร้างมัน โชคไม่ดีที่ฉันไม่มีโชค ด้วยเหตุผลบางอย่างclearstatcache(true)หลังจากสร้าง symlink ไม่ทำงานก็ยังคงได้รับแคช ฉันจะมอบรางวัลให้กับทุกคนอย่างมีความสุขที่สามารถปรับปรุงคำตอบของฉันและแก้ปัญหาเหล่านั้นได้ แก้ไข ฉันพยายามเพิ่มประสิทธิภาพรหัสของฉันด้วยการสร้างไฟล์ทุกครั้งที่clearstatcacheทำงานเพื่อที่ฉันจะต้องล้างแคชเพียงครั้งเดียวสำหรับแต่ละ symlink ด้วยเหตุผลบางอย่างสิ่งนี้ไม่ทำงาน clearstatcacheต้องถูกเรียกทุกครั้งที่มีการsymlinkรวมไว้ในเส้นทาง แต่ทำไม ต้องมีวิธีในการเพิ่มประสิทธิภาพโซลูชันที่ฉันมี ฉันใช้กับPHP 7.3.5 nginx/1.16.0บางครั้งส่งกลับค่าที่ไม่ถูกต้องเมื่อใช้file_get_contents symlinkปัญหาคือหลังจากลบและสร้าง symlink ใหม่ค่าเดิมยังคงอยู่ในแคช บางครั้งค่าที่ถูกต้องจะถูกส่งกลับบางครั้งก็เป็นค่าเก่า มันปรากฏแบบสุ่ม ฉันพยายามล้างแคชหรือป้องกันการแคชด้วย: function symlink1($target, $link) { realpath_cache_size(0); symlink($target, $link); //clearstatcache(true); } ฉันไม่ต้องการปิดใช้งานการแคชจริง ๆ แต่ฉันยังต้องการความถูกต้อง 100% กับ file_get_contents แก้ไข ฉันไม่สามารถโพสต์ซอร์สโค้ดของฉันได้เนื่องจากมันยาวและซับซ้อนเกินไปดังนั้นฉันจึงสร้างตัวอย่างที่ทำซ้ำได้น้อยที่สุด …

2
อะไรรับประกันกับ C ++ std :: atomic ในระดับโปรแกรมเมอร์?
ฉันได้ฟังและอ่านบทความพูดคุยและคำถามเกี่ยวกับสแต็คโอเวอร์โฟลว์หลายเรื่องstd::atomicแล้วและฉันต้องการให้แน่ใจว่าฉันเข้าใจดี เนื่องจากฉันยังสับสนอยู่เล็กน้อยกับบรรทัดแคชเขียนการมองเห็นเนื่องจากความล่าช้าที่เป็นไปได้ในโปรโตคอลการเชื่อมโยงกันของแคช MESI (หรือที่ได้รับ) บัฟเฟอร์ที่เก็บบัฟเฟอร์คิวที่ไม่ถูกต้องและอื่น ๆ ฉันอ่าน x86 มีโมเดลหน่วยความจำที่แรงกว่าและหากการตรวจสอบความถูกต้องแคชล่าช้า x86 สามารถยกเลิกการดำเนินการที่เริ่มต้นได้ แต่ตอนนี้ฉันสนใจเฉพาะสิ่งที่ฉันควรถือว่าเป็นโปรแกรมเมอร์ C ++ ซึ่งเป็นอิสระจากแพลตฟอร์ม [T1: thread1 T2: thread2 V1: ตัวแปรอะตอมมิกที่ใช้ร่วมกัน] ฉันเข้าใจว่า std :: atomic รับประกันว่า (1) ไม่มีการแย่งข้อมูลในตัวแปร (ต้องขอบคุณการเข้าถึงสายแคชเท่านั้น) (2) หน่วยความจำที่เราใช้นั้นขึ้นอยู่กับหน่วยความจำที่รับประกันว่า (มีสิ่งกีดขวาง) ซึ่งความสอดคล้องตามลำดับจะเกิดขึ้น (3) หลังจากการเขียนอะตอมมิก (V1) บน T1 อะตอมมิก RMW (V1) บน T2 จะสอดคล้องกัน (บรรทัดแคชจะได้รับการอัพเดตด้วยค่าที่เขียนบน T1) แต่เมื่อไพรเมอร์เชื่อมโยงกันถึงแคช ความหมายของสิ่งเหล่านี้คือโดยค่าเริ่มต้นการโหลดสามารถดึงข้อมูลเก่า (ถ้าคำขอการตรวจสอบความถูกต้องที่สอดคล้องกันกำลังนั่งอยู่ในคิวการตรวจสอบความถูกต้อง) ดังนั้นถูกต้องหรือไม่ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.