123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <?php
- /**
- * ${CARET}
- * @file:HomeCache.php
- * @Created by gnitif
- * @Date: 2022/12/6
- * @Time: 17:37
- */
- namespace App\Cache\Home;
- use App\Libs\Utils;
- use Illuminate\Support\Facades\Redis;
- class HomeCache
- {
- /**
- * 获取首页数据缓存
- * name: getHomePageInfo
- * @param mixed $packageName 包名
- * @param mixed $sex 性别
- * @return mixed
- * date 2022/12/06 17:43
- */
- public static function getHomePageInfo($packageName, $sex)
- {
- $cacheKey = Utils::getCacheKey("home.page", [$packageName]);
- $data = Redis::hget($cacheKey, $sex);
- if ($data) {
- $data = json_decode($data, true);
- }
- return $data;
- }
- /**
- * 首页数据缓存
- * name: setHomePageInfo
- * @param mixed $packageName 包名
- * @param mixed $sex 性别
- * @param mixed $data 数据
- * @param int $seconds 有效期
- * date 2022/12/07 10:59
- */
- public static function setHomePageInfo($packageName, $sex, $data, $seconds = 0)
- {
- $cacheKey = Utils::getCacheKey("home.page", [$packageName]);
- self::setHashData($cacheKey, $sex, $data, $seconds);
- }
- /**
- * 排行榜数据缓存
- * name: setHomePageInfo
- * @param mixed $packageName 包名
- * @param mixed $sex 性别
- * @param mixed $data 数据
- * @param int $seconds 有效期(秒)
- * date 2022/12/07 10:59
- */
- public static function setRankPageInfo($packageName, $sex, $data, $seconds = 0)
- {
- $cacheKey = Utils::getCacheKey("home.rank", [$packageName]);
- self::setHashData($cacheKey, $sex, $data, $seconds);
- }
- /**
- * 获取排行榜数据缓存
- * name: getHomePageInfo
- * @param mixed $packageName 包名
- * @param mixed $sex 性别
- * @return mixed
- * date 2022/12/06 17:43
- */
- public static function getRankPageInfo($packageName, $sex)
- {
- $cacheKey = Utils::getCacheKey("home.rank", [$packageName]);
- return self::getHashData($cacheKey,$sex);
- }
- /**
- * 设置缓存数据
- * name: setData
- * @param mixed $cacheKey 键值
- * @param mixed $field 字段
- * @param array $data 数据
- * @param int $seconds 有效期(秒)
- * date 2022/12/07 11:13
- */
- protected static function setHashData($cacheKey, $field, $data, $seconds = 0)
- {
- Redis::hset($cacheKey, $field, json_encode($data));
- if ($seconds > 0) {
- Redis::expire($cacheKey, $seconds);
- }
- }
- /**
- *
- * name: getData
- * @param mixed $cacheKey 键值
- * @param mixed $field 字段
- * @return mixed
- * date 2022/12/07 11:15
- */
- protected static function getHashData($cacheKey, $field)
- {
- $data = Redis::hget($cacheKey, $field);
- if ($data) {
- $data = json_decode($data, true);
- }
- return $data;
- }
- }
|