redis 存取问题

今天在写短信接口时候,要把验证码存到缓存里面。因为之前别人已经写的有案例,按照之前写的,获取 值、存到数据库,存到redis。 因为有过期时间,需要传过期时间。但是怎么都是不出来。。。

源码:

@Overridepublic String sendRandomCode(SmsDto smsDto, Integer seconds) throws Exception {   String code = RandomUtils.generateNumberString(6);   String content = code + " :为您的随机验证码";   logger.info(smsDto.getMobile() + " 的随机验证码: " + code);   String smsParams2 = smsParams.replace("{mobile}", smsDto.getMobile()).replace("{content}", paraTo16(content));   Map<String, Object> result = getSend(smsUrl, smsParams2);   // 保存发送日志   Sms sms = this.getSmsLog(smsDto, content);   JSONObject jsonObject = new JSONObject();   if (MSGConstant.FALSE.equals(result.get("result"))) {      jsonObject.put("msg", "发送失败");      jsonObject.put("code", "102");      return jsonObject.toString();   }   sms.setSendStatus("Y");   smsService.saveSmsLog(sms);   // 加入缓存   System.out.println(RedisKeysUtil.common + smsDto.getMobile());   cacheClient.add(RedisKeysUtil.common + smsDto.getMobile(), code, StringUtils.isEmpty(seconds + "") ? 600 : seconds);   // 加入缓存计算限制发送间隔   cacheClient.add(RedisKeysUtil.msg_length + smsDto.getMobile(), "不允许发送", 120);   jsonObject.put("msg", "发送成功");   jsonObject.put("code", "0");   return jsonObject.toString();}

-----------------------------------------------------------------------------------------------

觉得没什么问题啊,最后 发现 原来是 传到redis的时间 是2、、、 2s后过期,redis是以秒为单位的。 这个小问题。。。
时间: 2024-10-12 14:58:35

redis 存取问题的相关文章

redis存取数据

一.连接不同数据库和存取String类型值 1.连接数据库 2.set和get多个 3.取值并赋值 取值返回的是赋值改变之前的值: 4.递增和递减 5.字符串尾部加值 6.商品编号自增应用 原文地址:https://www.cnblogs.com/wmqiang/p/11659984.html

使用Redis存取数据+数据库存取(spring+java)

RoleMapper接口: package com.wbg.springRedis.dao; import com.wbg.springRedis.entity.Role; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface RoleMapper { List<Role> listAll(); int add(Role role); } xml

初识Redis系列之三:Redis支持的数据类型及使用

支持的数据类型有五种: string(字符串).hash(哈希).list(列表).set(集合)及zset(sorted set:有序集合): 下面分别对这几种类型进行简单的Redis存取操作 1:string(字符串) 几种里面最常用,也是最简单的类型,使用方式如下: redis 127.0.0.1:6379> SET name "runoob" OK redis 127.0.0.1:6379> GET name "runoob" 注意:一个键最大能

分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用(主从.事务与锁.持久化)> 本文我们继续学习redis的高级特性--集群.本文主要内容包括集群搭建.集群分区原理和集群操作的学习. Redis集群简介 Redis 集群是3.0之后才引入的,在3.0之前,使用哨兵(sentinel)机制(本文将不做介绍,大家可另行查阅)来监控各个节点之间的状态.Redi

redis mybatis spring整合

最近想在框架里面加入redis,替换原因呢其实也没有,就是单纯的想替换掉 ---维基百科:redis介绍 一般开发中用户状态使用session或者cookie,两种方式各种利弊. Session:在InProc模式下容易丢失,并且引起并发问题.如果使用SQLServer或者SQLServer模式又消耗了性能 Cookie则容易将一些用户信息暴露,加解密同样也消耗了性能. Redis采用这样的方案解决了几个问题, 1.Redis存取速度快. 2.用户数据不容易丢失. 3.用户多的情况下容易支持集群

用Redis存储session

0.什么是Redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API ---维基百科 1.与其他用户状态保存方案比较 一般开发中用户状态使用session或者cookie,两种方式各种利弊. Session:在InProc模式下容易丢失,并且引起并发问题.如果使用SQLServer或者SQLServer模式又消耗了性能 Cookie则容易将一些用户信息暴露,加解密同样也消耗了性能. Redis采用这样的方案

用Redis实现Session功能

0.什么是Redis Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API ---维基百科 1.与其他用户状态保存方案比较 一般开发中用户状态使用session或者cookie,两种方式各种利弊. Session:在InProc模式下容易丢失,并且引起并发问题.如果使用SQLServer或者SQLServer模式又消耗了性能 Cookie则容易将一些用户信息暴露,加解密同样也消耗了性能. Redis采用这样的方案

PHP(Mysql/Redis)消息队列的介绍及应用场景案例--转载

郑重提示:本博客转载自好友博客,个人觉得写的很牛逼所以未经同意强行转载,原博客连接 http://www.cnblogs.com/wt645631686/p/8243438.html 欢迎访问 在进行网站设计的时候,有时候会遇到给用户大量发送短信,或者订单系统有大量的日志需要记录,还有做秒杀设计的时候,服务器无法承受这种瞬间的压力,无法正常处理,咱们怎么才能保证系统正常有效的运行呢?这时候我们就要引用消息队列来实现这类的需求,这时候就需要一个中间的系统进行分流和解压.消息队列就是一个中间件,需要

redis入门demo

redis是什么? REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 为什么使用redis? ● 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s . ● 丰富的数据类型 – Redis支持二进制案例的 Strin