- Add last_access_at column to Swoole\Table schema
- LocalCacheTable::get() updates last_access_at on hit (LRU mode)
- LocalCacheTable::set() triggers evictLru() on failure:
1. First evicts all expired entries
2. Then evicts eviction_batch_size oldest-by-last_access_at entries
- New config: eviction_policy (lru|none), eviction_batch_size (default 8)
- New metric: evicts_lru (tracks LRU eviction count)
- Move TTL expiry check from MemoryCacheManager to LocalCacheTable
- Add evictionPolicy() to LocalCacheTableInterface
- Update MemoryCacheStatsCommand to show eviction config
- 66 tests, 120 assertions pass