php教程

超轻量级php框架startmvc

PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】

更新时间:2020-03-20 10:31:24 作者:startmvc
本文实例讲述了PHP获取redis里不存在的6位随机数的方法。分享给大家供大家参考,具体如下

本文实例讲述了PHP获取redis里不存在的6位随机数的方法。分享给大家供大家参考,具体如下:

PHP获取6位数随机数

PHP str_shuffle() 函数

str_shuffle() 函数随机打乱字符串中的所有字符。

参数 描述
string 必需。规定要打乱的字符串。

用php的str_shuffle函数:


<?php
$randStr = str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890');
$rand = substr($randStr,0,6);
?>

实例:获取redis里面不存在的6位随机数(设置24小时过时)


$port_number = '1605D1BCC6C8027BA0223147652D67D6';
$send_number = $this->getSixRandNumber();
$rs = $this->redis->setKeyValue('ports:' . $send_number,$port_number);
//以秒为最小单位
$this->redis->setTimeout('ports:' . $send_number,24*3600);
/**
* 获取6位数随机数
*/
protected function getSixRandNumber(){
$randStr = str_shuffle('1234567890');
$rand = substr($randStr,0,6);
$port = $this->redis->getItemByKey('ports:' .$rand);
//存在的重新取
if($port != null){
return $this->getSixRandNumber();
}
return $rand;
}

PS:这里再为大家提供两款功能类似的在线工具供大家参考:

在线随机数字/字符串生成工具: http://tools.jb51.net/aideddesign/suijishu

高强度密码生成器: http://tools.jb51.net/password/CreateStrongPassword

PHP 获取 redis 不存在 6位 随机数 设置 24小时过时