<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/vendor/feed/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
                        <id>https://phptoptens.com/authors/aaron-saray/feed</id>
                                <link href="https://phptoptens.com/authors/aaron-saray/feed" rel="self"></link>
                                <title><![CDATA[Artisan Weekly — Author Feed]]></title>
                    
                                <subtitle>Featured links for a given author across Artisan Weekly editions.</subtitle>
                                                    <updated>2026-08-28T08:53:53+01:00</updated>
                        <entry>
            <title><![CDATA[A duplicate ULID that wasn't a collision]]></title>
            <link rel="alternate" href="https://masteringlaravel.io/daily/2026-05-05-a-duplicate-ulid-that-wasnt-a-collision" />
            <id>https://masteringlaravel.io/daily/2026-05-05-a-duplicate-ulid-that-wasnt-a-collision</id>
            <author>
                <name><![CDATA[Aaron Saray]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[Aaron Saray shares a recent debugging story about mysterious ULID collisions that turned out to be caused by Laravel's replicate() method copying the public_id field. He shows how to fix this issue using a replicating hook to ensure duplicated models get fresh ULIDs.]]>
            </summary>
                                    <updated>2026-05-06T17:47:38+01:00</updated>
        </entry>
            <entry>
            <title><![CDATA[Which layer of caching does your slow app actually need?]]></title>
            <link rel="alternate" href="https://www.youtube.com/watch?v=b5m1JQRWzME" />
            <id>https://www.youtube.com/watch?v=b5m1JQRWzME</id>
            <author>
                <name><![CDATA[Aaron Saray]]></name>
                <email><![CDATA[hello@example.com]]></email>

            </author>
            <summary type="html">
                <![CDATA[When someone says your app is slow and you need caching, do you actually know which layer of caching they are talking about?

In the latest episode of the No Compromises podcast, we discuss the many different forms caching takes in a Laravel application and why reaching for the cache facade is not always the answer.

We walk through caching from the outside in, starting with edge caching via Cloudflare, moving into Laravel's cache facade for third-party API calls, and all the way down to memoization with the Once helper for expensive in-request calculations.

We also make the case that storing data in a database table can be a perfectly valid caching strategy, and that the right question to ask is not whether to cache but what kind of caching actually fits the problem.]]>
            </summary>
                                    <updated>2026-08-28T08:53:53+01:00</updated>
        </entry>
    </feed>
