redis常用知識点
1693 ワード
1:redisストリーム制限機能
1:まず対応するkey値カウントを設定し、keyに対応する有効期限を設定します2:対応するインタフェースを呼び出すたびに対応するカウンタを取得して対応するデータカウント機能を実現し、有効期限を比較します.
使用シーン:、
1:一定の時間内にアカウントに対して何度も繰り返し登録して対応するデータ制限を実現できない
2:対応するログインエラーが実現でき、再ログインロジックとデータベースの結合が実現できない.
コードは次のとおりです.
https://www.cnblogs.com/williamjie/p/9395659.html
1:まず対応するkey値カウントを設定し、keyに対応する有効期限を設定します2:対応するインタフェースを呼び出すたびに対応するカウンタを取得して対応するデータカウント機能を実現し、有効期限を比較します.
使用シーン:、
1:一定の時間内にアカウントに対して何度も繰り返し登録して対応するデータ制限を実現できない
2:対応するログインエラーが実現でき、再ログインロジックとデータベースの結合が実現できない.
コードは次のとおりです.
DataReturnResult dataBack=new DataReturnResult();
String limitData=jedisUtil.get(dataKeyCount,CommonConstant.REDIS_INDEX);
if(StringUtils.isNotEmpty(limitData)) {
Integer countExist = Integer.parseInt(limitData) ;
Long expireTimes = jedisUtil.ttl(dataKeyCount,CommonConstant.REDIS_INDEX) ;
if(expireTimes>-1) {
if(countExist>5) {
dataBack.setDesc("LimitCount 10 , ");
dataBack.setData(countExist);
return dataBack;
}else {
String count = String.valueOf(countExist+1);
jedisUtil.incr(dataKeyCount);
dataBack.setData(count);
return dataBack;
}
}else {
jedisUtil.set(dataKeyCount,"1",0);
jedisUtil.expire(dataKeyCount,180, CommonConstant.REDIS_INDEX);
dataBack.setDesc("LimitCount , , LimitCount=1");
dataBack.setData(1);
return dataBack;
}
}else {
jedisUtil.set(dataKeyCount,"1",0);
jedisUtil.expire(dataKeyCount,180, CommonConstant.REDIS_INDEX);
dataBack.setDesc("LimitCount , LimitCount=1");
dataBack.setData(1);
return dataBack;
}
}
redis :
https://www.cnblogs.com/williamjie/p/9395659.html