สควิดถูกออกแบบมาให้เก็บแคช ดังนั้นจึงไม่ชอบการเคลียร์แคช สควิดใช้การนำอ็อบเจ็คอื่นมาเปลี่ยนแทนที่อ็อบเจ็คเก่าด้วยอ็อบเจ็คใหม่ ตามนโยบายการแทนที่ที่ได้กำหนดใน cache_replacement_policy โดยปกติจะเป็นแบบ lru ซึ่งหมายถึงเปลี่ยนแทนที่โดยเอาของเก่าๆที่เก็บไว้นานออก
heap GDSF แบบนี้จะเอาอันที่ไม่ค่อยใช้ออก โดยเฉพาะไฟล์ใหญ่ๆ ดังนั้นไฟล์เล็กๆเยอะๆจะมีโอกาส hit บ่อย
heap LFUDA แบบนี้เอาอันที่ไม่ค่อยใช้ออก ทั้งเล็กทั้งใหญ่ๆ ดังนั้นโอกาส hit น้อยกว่าเพราะเก็บจำนวนน้อยลงแต่จะช่วยด้านแบนวิธเพราะเก็บไฟล์ใหญ่
heap LRU คล้ายแบ lru คือเอาของเก่าออกแต่จะเอาอันที่ไม่ค่อยใช้ออกด้วย
สควิดจะเริ่มทำการแทนที่ เมื่อมีขนาดแคชที่เก็บถึงขีดระดับล่างหรือที่กำหนดใน cache_swap_low ซึ่งเป็น % ของขนาด cache_dir ที่กำหนดไว้ และจะพยายามคงรักษาระดับแคชไว้ที่ระดับนี้ เมื่อมีอัตราการรับอ็อบเจ็คใหม่มากกว่าการลบของเก่าออก ขนาดของแคชจะมากขึ้น การแทนที่จะก้าวร้าวขึ้น(ลบของเก่ามากขึ้น) จนไปถึงขีดระดับบนหรือที่กำหนดใน cache_swap_high
การกำหนดขนาด cache_swap_low กับ cache_swap_high ควรพิจาณาถ้าหากขนาด cache_dir มีขนาดใหญ่มาก cache_swap_low กับ cache_swap_high ก็ไม่ควรต่างกันมาก เพราะแค่ 5% อาจหมายถึงต่างกันหลายร้อยเม็ก
อ็อบเจ็คต่างๆที่สควิดเก็บโดยปกติจะถูกลบเนื่องจากการหมดอายุ (expire) ซึ่งอาจจะถูกกำหนดจากเซิรฟเวอร์ หรือเวลากำหนดไว้จาก refresh_pattern และการ การรีเฟรชอ็อบเจ็คซึ่งคืออ็อบเจ็คเดิมแต่ปรับปรุงใหม่มาแทนที่ตัวเก่า
จะเห็นว่า สควิดไม่มีทางที่เกิดอาการที่เรียกว่า แคชเต็มแล้วต้องมาเคลียร์แคช และการเคลียร์แคชเนื่องจากการปรับแต่งสควิดที่ไม่ถูกต้องก็ไม่ใช่วิธีการ ที่ดีนักเพราะมีวิธีแก้ปัญหาอื่นๆ แต่ไม่ค้นหาวิธีแก้กัน อย่างเช่น
ถ้ามีบางเว็บไซต์นั่นมีปัญหาแสดงข้อมูลเก่าไม่แสดงข้อมูลใหม่ อาจเพราะมีบางไฟล์ ถูกกำหนดจากออฟชั่นใน refresh_pattern ไม่ให้ตรวจสอบเวลาปรับปรุงล่าสุดแต่ให้เรียกข้อมูลที่อยู่ในแคชอย่างเดียว วิธีแก้ปัญหาง่ายๆอันนี้ เราก็กำหนด refresh_pattern ใหม่เป็นเฉพาะของเวบไซต์นั้นๆใส่ไว้ในบรรทัดบนๆ ก่อนบรรทัด refresh_pattern ที่มีปัญหาก็จะสามารถแก้ให้ได้รับข้อมูลใหม่ของเว็บไซต์นั้น ตย.
refresh_pattern -i .thaicybergames.com/startgame/ucg/ 0 100% 10080 ก่อนบรรทัด
refresh_pattern -i [.]dat$ 2880 100% 20160 เนื่องจากบรรทัดนี้กำหนดให้เรียกไฟล์ .dat โดยไม่ตรวจสอบเวลาปรับปรุงขั้นต่ำสองวัน ทำให้เกิดปัญหาได้ไฟล์เก่า
เมื่อใส่บรรทัดบนแล้ว สควิดจะตรวจสอบเวลาปรับปรุงล่าสุด ถ้ายังไม่ปรับปรุงก็จะเรียกข้อมูลเก่าที่สควิดเก็บไว้(ถ้าเก็บได้) ถ้าไม่ได้เก็บก็จะไปเรียกจากเว็บมา
หมายเหตุ บางครั้งสควิดเกิดอาการหยุดทำงานไปเฉยๆ ซึ่งอาจทำให้บางท่านคิดไปว่าแคชเต็ม ซึ่งที่จริงอาจเกิดจากเมมโมรี่ไม่พอ โดยทั่วไปสควิดจะต้องใช้เมมโมรี่ส่วนหนึ่งไปใช้ในการเก็บสารบัญสำหรับค้นหา อ็อบเจ็คและข้อมุลอ็อบเจ็ค (metadata) สามารถคำนวณแบบง่ายๆโดยเทียบจากขนาดแคชที่เก็บอยู่ทั้งหมด เช่น มีแคชอยู่ 100 เม็กจะใช้เมมโมรี่ 1 เม็กในการเก็บสารบัญ ถ้าหากแคชอยู่ 5 กิ๊ก ก็จะใช้เมมโมรี่ 50 เม็กในการเก็บดัชนี หากสควิดไม่สามารถใช้เมมโมรี่มาเก็บสารบัญนี้ได้ สควิดจะหยุดทำงานทันที ทางที่ดีจึงควรคำนวนการใช้งานเมมโมรี่เผื่อไว้สำหรับเก็บดัชนีสัก 2 เท่าของ ขนาด cache_dir (MB)/100
หรือการลดขนาด cachemem ก็มาช่วยเพิ่มเนื้อที่ไว้สำหรับเก็บสารบัญนี้ได้เช่นกัน