这篇文章主要介绍了php获取redis里不存在的6位随机数的方法,可设置24小时过时限制,涉及php字符串及数据库相关操作技巧,需要的朋友可以参考下
本文实例讲述了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;
}
以上就是php获取redis里不存在的6位随机数应用示例的详细内容。