Socket/freedom/utils/RedisUtil.php
2026-01-28 23:48:20 +08:00

143 lines
4.2 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace freedom\utils;
use think\facade\Cache;
/**
* TODO Redis操作工具类
* Class RedisUtil
* @package freedom\utils
*/
class RedisUtil
{
/**
* TODO 卡牌保存
* @param int $numberTabId 局ID
* @param int $card 卡牌点数
* @param int $timeout 过期时间默认3天
* @return bool;
*/
public static function saveCardPosition(int $numberTabId, int $position, int $card, $timeout = 60*60*24*3):bool{
$res = Cache::store('redis')->set('card_'.$numberTabId.'_'.$position,$card,$timeout);
if ($res){
return true;
}else{
return false;
}
}
/**
* TODO 卡牌获取
* @param int $numberTabId 局ID
* @return array;
*/
public static function getCardPosition(int $numberTabId): array
{
$card11 = Cache::store('redis')->get('card_'.$numberTabId.'_11');
$card12 = Cache::store('redis')->get('card_'.$numberTabId.'_12');
$card13 = Cache::store('redis')->get('card_'.$numberTabId.'_13');
$card21 = Cache::store('redis')->get('card_'.$numberTabId.'_21');
$card22 = Cache::store('redis')->get('card_'.$numberTabId.'_22');
$card23 = Cache::store('redis')->get('card_'.$numberTabId.'_23');
$cardInfoRedis = [];
if ($card11) $cardInfoRedis['player_1'] = $card11;
if ($card12) $cardInfoRedis['player_2'] = $card12;
if ($card13) $cardInfoRedis['player_3'] = $card13;
if ($card21) $cardInfoRedis['banker_1'] = $card21;
if ($card22) $cardInfoRedis['banker_2'] = $card22;
if ($card23) $cardInfoRedis['banker_3'] = $card23;
return $cardInfoRedis;
}
/**
* TODO 卡牌缓存删除
* @param int $numberTabId
* @return bool
*/
public static function deleteCardPosition(int $numberTabId): bool
{
Cache::store('redis')->delete('card_'.$numberTabId.'_11');
Cache::store('redis')->delete('card_'.$numberTabId.'_12');
Cache::store('redis')->delete('card_'.$numberTabId.'_13');
Cache::store('redis')->delete('card_'.$numberTabId.'_21');
Cache::store('redis')->delete('card_'.$numberTabId.'_22');
Cache::store('redis')->delete('card_'.$numberTabId.'_23');
return true;
}
/**
* TODO 卡牌保存
* @param int $numberTabId 局ID
* @param array $array 卡牌数组
* @param int $timeout 过期时间默认3天
* @return bool;
*/
public static function saveCard(int $numberTabId, array $array, $timeout = 60*60*24*3): bool{
$res = Cache::store('redis')->set('card_'.$numberTabId,json_encode($array),$timeout);
if ($res){
return true;
}else{
return false;
}
}
/**
* TODO 卡牌获取
* @param int $numberTabId 局ID
* @return array;
*/
public static function getCard(int $numberTabId): array{
$cardInfoRedis = Cache::store('redis')->get('card_'.$numberTabId);
if ($cardInfoRedis){
return json_decode($cardInfoRedis,true);
}else{
return [];
}
}
/**
* TODO 设置缓存
* @param string $name 名称
* @param string|int|bool $value 名称
* @param int $waitTime 过期时间
* @return bool;
*/
public static function save(string $name, $value, int $waitTime): bool
{
$res = Cache::store('redis')->set($name,$value,$waitTime);
if ($res){
return true;
}else{
return false;
}
}
/**
* TODO 删除缓存
* @param string $name 名称
* @return bool;
*/
public static function delete(string $name): bool
{
$res = Cache::store('redis')->delete($name);
if ($res){
return true;
}else{
return false;
}
}
/**
* TODO 获取缓存
* @param string $name 名称
* @return string;
*/
public static function get(string $name): string
{
return Cache::store('redis')->get($name);
}
}