php中redis锁怎么应用
作者:ClearCorner
时间:2023-04-27
浏览:1
Redis Assistant
Redis Assistant 是一款为Redis设计的高效可视化管理与监控工具,提供多种操作模式,高效处理服务器数据。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。
¥19
Windows/macOS/Linux
2026-08-22
classLockUtil{privatestatic$lock_prefix='hi_box_lock_';/***@param$key*@paramstring$func操作方法*@paramint$timeout*@returnbooltrue未锁false已锁*/publicstaticfunctiononLock($key,$func='default',$timeout=5):bool{if(empty($key)||$timeouthandler();$key
本文目录
class LockUtil
{
private static $lock_prefix = 'hi_box_lock_';
/**
* @param $key
* @param string $func 操作方法
* @param int $timeout
* @return bool true 未锁 false 已锁
*/
public static function onLock($key, $func='default', $timeout = 5): bool
{
if (empty($key) || $timeout <= 0) {
return true;
}
/**
* @var $redis Redis
*/
$redis = Cache::store('redis')->handler();
$key = self::$lock_prefix.md5($func) . $key;
// $key 如果存在 设置nx后 是不会重新覆盖set
return $redis->set($key, 1, ['nx', 'ex' => $timeout]);
}
public static function unLock($key,$func='default')
{
/**
* @var $redis Redis
*/
$redis = Cache::store('redis')->handler();
$key = self::$lock_prefix .md5($func). $key;
//监听Redis key防止【解锁事务执行过程中】被修改或删除,提交事务后会自动取消监控
$redis->watch($key);
if ($redis->get($key)) {
$redis->multi()->del($key)->exec();
}
$redis->unwatch();
}
}
作者最新文章
PS网页版怎么使用
2026-10-26 10:54
Gode浏览器安卓版下载与使用指南:收藏网页及功能解析
2026-10-23 19:10
Luminar Neo AI人像优化与皮肤平滑度调整教程
2026-10-21 18:09
Linux系统安装Python指南:Ubuntu/CentOS包管理器与源码编译方法
2026-10-16 16:59
python 绿色版:概念解析、环境隔离与验证流程
2026-09-05 07:27
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































