1.使用opv.increment 达到增量的效果【判断某个用户 是第几次做这种操作】

@RequestMapping("createCode")
@RestController
public class CreateCodeController {@AutowiredStringRedisTemplate stringRedisTemplate;public static final String TEN_CODE_GLOBAL_KEY_IN_REDIS = "PISEN-CLOUD-LUNA-SECURITY-CODE-TEN-GLOBAL:";@RequestMapping("getCode")public UniVerResponse<String>  createCode(){String uid = "test";//使用hashmap实现同步锁//这里uid可以是// 1>使用者的uid,标明 同一个使用者同一时间只能有一个获取码的任务// 2>任务单的uid,标明 一个使用者如果有不同的任务单,可以保证一个用户的多个任务单的每一个任务单只能有一个获取码的任务synchronized(HashMapLock.getLock(uid)){UniVerResponse<String> res = new UniVerResponse<>();//区分用户的基础序列值String serialNumber = "";//1.例如:user.id是数据库自增的//2.例如本user想要下载防伪码,那么先取出他的id//3.例如id = 10L 或者用户id可以是1000LLong id = 99L;String str2 = CreateCode.fmtStringAddZero(id,3,"0");//使用redis的增量方法  达到每次用户调用这个获取码  都会次数+1ValueOperations<String, String> opv = stringRedisTemplate.opsForValue();//[key:value]  [PISEN-CLOUD-LUNA-SECURITY-CODE-TEN-GLOBAL:099   :   次数]String str1 = opv.increment(TEN_CODE_GLOBAL_KEY_IN_REDIS + str2, 1).toString();str1 = CreateCode.fmtStringAddZero(str1,3,"0");serialNumber = str1 + str2;//生成 20个不重复的codeList<String> codeList = CreateCode.getCode(serialNumber,2000);for (String s : codeList) {System.out.println(s);}res.beTrue("成功");return  res;}}

View Code

【redis】在spring boot2.0中使用redis的StringRedisTemplate 自动注入@Autowired相关推荐

  1. Spring Boot2.0+中,自定义配置类扩展springMVC的功能

    在spring boot1.0+,我们可以使用WebMvcConfigurerAdapter来扩展springMVC的功能,其中自定义的拦截器并不会拦截静态资源(js.css等). @Configur ...

  2. Spring Boot2.0之整合Redis

    需要的maven依赖 jar包,是对Jedis的封装 maven依赖: <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  3. Spring Boot2.0之 整合Redis集群

    项目目录结构: pom: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:// ...

  4. Mongodb网页管理工具,基于Spring Boot2.0,前端采用layerUI实现

    源码:https://github.com/a870439570/Mongodb-WeAdmin 项目介绍 Mongodb网页管理工具,基于Spring Boot2.0,前端采用layerUI实现. ...

  5. SpringBoot之整合Redis分析和实现-基于Spring Boot2.0.2版本

    一.背景介绍 公司最近的新项目在进行技术框架升级,基于的Spring Boot的版本是2.0.2,整合Redis数据库.网上基于2.X版本的整个Redis少之又少,中间踩了不少坑,特此把整合过程记录, ...

  6. 【Spring Boot2.x】整合redis、mybatisPlus这篇文章就够了【真实开发环境实用】

    概述 - 采用springboot2.2.4.RELEASE版本,采用lettuce对redis进行整合,并且使用mybatisPlus实战- - 源码地址:https://github.com/Bl ...

  7. Centos 8.0中安装Redis服务器

    企业级开发中,经常需要把一些中间件安装在Linux服务上.主要考虑到linux服务器的性能吧. 1.官网下载Linux版安装包 Redis 楼主使用的是 6.2.1,目前最新是6.2.6 差别不大. ...

  8. java 结合redis队列_在 Java 中使用 redis 的消息队列服务

    前言 关于 redis 我们前面已经讨论过了缓存.分布式锁.分布式唯一标识.LBS服务的用法,这里我们来谈谈利用 redis 来实现一个消息服务. 典型的消息服务是一个生产者和消费者模式的服务.一般是 ...

  9. php redis 查询,Redis慢查询日志 PHP中使用redis – 安装扩展模块

    Redis慢查询日志 编辑配置文件/etc/redis.conf 针对慢查询日志,可以设置两个参数,一个是执行时长,单位是微秒,另一个是慢查询日志的长度.当一个新的命令被写入日志时,最老的一条会从命令 ...

最新文章

  1. 几个常用的eclipse快捷键
  2. ITK:将不断变化的密集2D水平集可视化为高程图
  3. 21种mysql_Mysql中,21个写SQL的好习惯,可以看一下
  4. fatal error C1001: INTERNAL COMPILER ERROR
  5. C++学习之路 | PTA乙级—— 1023 组个最小数 (20分)(精简)
  6. odbc如何连oracle数据库,不安装Oracle如何连数据库(odbc驱动)
  7. Android Sensor架构和原理分析
  8. 【Golang】go程序性能测试教程+总结
  9. 3D建模、处理软件及部分算法库简介
  10. 【期末不挂科 数据结构】第一章 绪论
  11. 从诺贝尔奖到“吃鸡守护者”:通往极点的手机散热战争
  12. 华清远见上海中心22071班--11.19作业
  13. 大数据技术之名词解释
  14. Java 依据文件名后缀,获取Content-Type/Mime类型
  15. 物联网平台有哪些商业模式
  16. Linux 2.6.31内核优化指南
  17. Swift 第三方库整理
  18. 图片识别软件有哪些?盘点三款好用的识别工具
  19. PhSp_CS2_English安装时的问题
  20. vue-json-excel导出 Excel 文件时数字超长变成科学计数法怎么办?

热门文章

  1. PHP数组和Json之间的转换
  2. 用“混序”替代鲍尔默
  3. 【数据结构】栈的存储实现
  4. vs2010新功能(转)
  5. (zt)OpenGL中的Alpha测试,深度测试,模板测试,裁减测试
  6. 搜索引擎广告计费系统如何防恶意点击
  7. echarts 饼图移动端_VUE移动端项目中使用Echart
  8. Spring MVC【入门】就这一篇!
  9. python小例子-Python 常用小例子
  10. sql查询每科成绩的最高分_数据分析SQL查询:一文带你入门到掌握