Appearance
缓存开发指南
本文档介绍 DSPlatform 项目中缓存系统的使用方法。
概述
DSPlatform 使用基于 KvManager 的缓存系统,支持多种存储后端(File、Redis等),并提供了标签管理功能。
核心组件
KvManager
统一入口,提供缓存、锁、计数器、限流等功能:
php
use app\deshang\kv\KvManager;
use app\deshang\kv\keys\CacheKeyManager;
// 缓存操作
KvManager::cache()->set($key, $value, 3600, $tag);
KvManager::cache()->get($key, $default);
KvManager::cache()->delete($key);
KvManager::cache()->clear($tag);CacheKeyManager
统一管理所有缓存键常量:
php
use app\deshang\kv\keys\CacheKeyManager;
// 使用缓存键
$cacheKey = sprintf(CacheKeyManager::GOODS_INFO_KEY, $goods_id);
$tag = CacheKeyManager::GOODS_TAG;使用示例
基本缓存操作
php
use app\deshang\kv\KvManager;
use app\deshang\kv\keys\CacheKeyManager;
// 设置缓存
$cacheKey = sprintf(CacheKeyManager::STORE_INFO_KEY, $store_id);
KvManager::cache()->set($cacheKey, $storeInfo, 3600, CacheKeyManager::STORE_TAG);
// 获取缓存
$storeInfo = KvManager::cache()->get($cacheKey);
// 删除缓存
KvManager::cache()->delete($cacheKey);
// 清除标签缓存
KvManager::cache()->clear(CacheKeyManager::STORE_TAG);完整示例
php
class StoreService
{
public function getStoreInfo($storeId)
{
$cacheKey = sprintf(CacheKeyManager::STORE_INFO_KEY, $storeId);
$storeInfo = KvManager::cache()->get($cacheKey);
if (empty($storeInfo)) {
$storeInfo = $this->getStoreFromDatabase($storeId);
KvManager::cache()->set($cacheKey, $storeInfo, 7200, CacheKeyManager::STORE_TAG);
}
return $storeInfo;
}
public function updateStore($storeId, $data)
{
$this->updateStoreInDatabase($storeId, $data);
// 清除相关缓存
$cacheKey = sprintf(CacheKeyManager::STORE_INFO_KEY, $storeId);
KvManager::cache()->delete($cacheKey);
// 或清除所有店铺相关缓存
KvManager::cache()->clear(CacheKeyManager::STORE_TAG);
}
}配置说明
环境变量
env
CACHE_ENABLED=true缓存配置
在 config/cache.php 中配置缓存驱动:
php
return [
'default' => 'file',
'stores' => [
'file' => [
'type' => 'File',
'path' => '',
'prefix' => '',
'expire' => 0,
],
'redis' => [
'type' => 'Redis',
'host' => '127.0.0.1',
'port' => 6379,
'password' => '',
'select' => 0,
],
],
];最佳实践
- 使用 CacheKeyManager 管理键常量,避免硬编码
- 合理使用缓存标签,便于批量管理
- 根据数据更新频率设置 TTL:静态数据 24 小时,动态数据 1 小时
- 数据更新后及时清除相关缓存
相关链接
最后更新:2024-12-20
维护者:DSPlatform技术团队(德尚网络)
获取帮助
如果您在使用过程中遇到问题,可以通过以下方式获取帮助:
- 官方网站:https://www.csdeshang.com
- 电话咨询:15364080101(微信同号)
- QQ咨询:858761000
- 邮箱咨询:858761000@qq.com
- 工作时间:工作日 9:00-18:00
- 微信咨询:扫码添加微信

版权所有 © 2014-至今 德尚网络