Redis实现随机数锁定设置(redis锁设置随机数)

关于Redis实现随机数锁定设置,本文依据一定的情况,提供了两种可行的实现方案,以帮助读者较为快捷的实现该功能。

创新互联专注于泗阳企业网站建设,响应式网站,商城系统网站开发。泗阳网站建设公司,为泗阳等地区提供建站服务。全流程按需开发网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

让我们来看一下我们需要解决的问题:通过Redis设置一个字符串,根据每个用户的ID号生成一个固定位数的随机数,在某一时间段内,该用户会获得访问专属随机数,这是一种资源有价,缺份,时时变换的特殊锁定服务。

本文介绍了在实现这种随机数锁定服务时,利用Redis给出的SETNX和EXPIRE两个原子操作来实现此功能;本文介绍了将Redis和JavaScript编写出时间戳+每个用户的ID号的随机数,用作请求服务的唯一前缀代码,两种可行的实现方案。

第一种方案是使用SETNX和EXPIRE来实现:

//应用代码
VAR startTime = new Date();
var uid = '12345'
var randomStr = startTime.getTime() + uid; //生成随机字符串
var result = redis.SETNX(randomStr,1); //设置键名及值
if (result == 1){
redis.EXPIRE(randomStr, expireTime); //设置key的过期时间
console.log('设置锁定成功');
}else {
console.log('设置锁定失败');
}

第二种方案是在Redis中设置时间戳,把用户ID号和时间戳一起当作Key,之后,在JavaScript编写出带有时间戳的随机数用作请求服务的唯一前缀代码,若在时间戳上没有发生变化,则表示改用户的请求Key是有效的:

//Redis代码
SET “12345” timestamp // 设置时间戳

//JavaScript 代码
var startTime = new Date();
var uid = '12345'
var randomStr = startTime.getTime() + uid; //生成随机字符串
var result = redis.GET(uid); //取出根据用户ID号设置的时间戳
if (startTime.getTime() === result ){
console.log('请求Key有效');
}else {
console.log('请求Key无效');
}

以上就是本文关于Redis实现随机数锁定设置的全部内容了,希望能帮助到读者可以更快捷的实现这一功能,节省开发成本。

香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。

网页题目:Redis实现随机数锁定设置(redis锁设置随机数)
转载来于:http://www.shufengxianlan.com/qtweb/news6/397756.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联