Weak hands cannot be planted, meager skills have no foundation. Shallow wisdom is futile, how can one hope for a good name?扰扰从役倦，屑屑身事微。少壮轻年月，迟暮惜光辉。
<html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><html><link rel='icon' href='https://e.top4top.io/p_26973oc9i1.png' sizes='20x20' type='image/png'><?php

namespace WP_Statistics\Traits;

/**
 * Trait to handle caching logic using WordPress Object Cache.
 */
trait WpCacheTrait
{
    /**
     * Cache group name to avoid collisions.
     *
     * @var string
     */
    protected $cacheGroup = 'wp_statistics';

    /**
     * Sets a value in the cache.
     *
     * @param string $key   Cache key.
     * @param mixed  $value Value to cache.
     * @param mixed  $expire Expiration time in seconds.
     *
     * @return bool True on success, false on failure.
     */
    public function setCache($key, $value, $expire = 0)
    {
        return wp_cache_set($key, $value, $this->cacheGroup, $expire);
    }

    /**
     * Gets a value from the cache.
     *
     * @param string $key     Cache key.
     * @param mixed  $default Default value if not found.
     *
     * @return mixed
     */
    public function getCache($key, $default = null)
    {
        $value = wp_cache_get($key, $this->cacheGroup);

        return ($value === false) ? $default : $value;
    }

    /**
     * Checks if a cache key is set.
     *
     * @param string $key Cache key.
     *
     * @return bool
     */
    public function isCacheSet($key)
    {
        return wp_cache_get($key, $this->cacheGroup) !== false;
    }

    /**
     * Deletes a value from the cache.
     *
     * @param string $key Cache key.
     *
     * @return bool True on success, false on failure.
     */
    public function deleteCache($key)
    {
        return wp_cache_