function getNumber(string $sign): string
{
$incr = redis()->eval('
local sign = tostring(KEYS[1])
local time = tostring(KEYS[2])
return redis.call("HINCRBY", sign, time, 1)
',[
'getNumber', $sign.'_'. (string) date('YmdHis')
], 2);
return $sign . date('YmdHis'). str_repeat('0', 3 - strlen((string) $incr)) . $incr;
}
php生成订单号,日期+序列号,redis lua脚本
于 2023-02-23 13:54:00 首次发布
该代码定义了一个函数getNumber,它使用Redis的eval命令执行Lua脚本,对特定键(基于$sign和当前时间戳)的哈希表进行自增操作。然后,函数返回一个格式化的字符串,包含日期时间信息和自增后的数值,确保数值始终为3位数。
摘要由CSDN通过智能技术生成