redis
文章平均质量分 64
百里东君~
后端开发爱好者-原创分享
展开
-
java接口的幂等性及解决方案
一、什么情况下需要幂等用户多次点击按钮用户页面回退再次提交微服务相互调用,由于网络问题,导致请求失败,feign触发重试机制二、幂等性解决方案2.1 token机制(令牌)即验证码机制,例如页面点击提交按钮之前,会先去服务端获取token,服务端同时也在Redis中保存这个token数据,并将token显示到前端(验证码),让用户正确填写验证码并发起请求,此时后端便会校验token是否一致,一致的话即是通过并在Redis中删除该token,当用户还是携带上次的验证码多次提交,此时服务器判断验证码原创 2021-11-06 23:31:54 · 3371 阅读 · 1 评论 -
springboot整合redis使用scan代替keys方案
一、为什么使用scan代替keys?·因为redis是单线程的,使用keys命令,如果redis中的key非常庞大,那么这条命令执行时间非常长,这个时候就会阻塞到其他命令的执行,所以要redis也提供给我们另一个scan命令来解决这种常见的场景,二、scan有什么优势呢?scan命令的时间复杂度虽然也是O(N),但它是分次进行的,不会阻塞线程。 scan命令提供了limit参数,可以控制每次返回结果的最大条数。这两个优势就帮助我们解决了上面的难题,不过scan命令也并不是完美的,它返回的结.原创 2021-04-07 00:21:29 · 3769 阅读 · 0 评论 -
2020-2021实习校招java面试题Redis,RabbitMQ等组件
一、Redis面试题1、使用 Redis 有哪些好处?1、速度快,因为数据存在内存中,类似于 HashMap,HashMap 的优势就是查找和操作的时间复杂度都是 O(1) 2、支持丰富数据类型,支持 string,list,set,Zset,hash 等 3、支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 4、丰富的特性:可用于缓存,消息,按 key 设置过期时间,过期后将会自动删除2、Redis有什么持久化的机制吗?RDB:是Redis默认的持久原创 2020-10-10 13:02:03 · 372 阅读 · 0 评论 -
springboot+shiro+redis出现@Cacheable部分生效部分不生效
shiro整合redis时候因为aop的关系,在授权时候,会出现授权执行的部分server代码不走redis,而是直接进行数据库查询,这个时候,我们应该在UserReaml中,将我们所有的@Autowrite注解的service层类进行懒加载处理(具体直接加@lazy)@Slf4jpublic class UserRealm extends AuthorizingRealm { @Autowired @Lazy private SysLoginService loginSe原创 2020-08-18 14:32:56 · 485 阅读 · 0 评论 -
springboot2.x整合redis注解@Cacheable\@CachePut\@CacheEvict
springboot整合redis实际开发中常用到的几个注解一、准备1、pom文件引入redis 缓存 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <versio.原创 2020-08-03 22:57:04 · 924 阅读 · 0 评论 -
redis学习2:redis与springboot的整合(自定义redis过期时间ttl,序列化方式)
1、引入依赖<!--pom文件引入redis 缓存--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.2.2.RELEASE</原创 2020-07-29 17:03:29 · 699 阅读 · 0 评论 -
redis怎么性能测试(压测)
不管是windows还是linux,在redis的目录下都有redis-benchmark自带的这个压测工具如果测试:100并发量下,测试100000个请求的性能1、先启动redis服务 2、压力测试windows命令(cmd进入redis的目录中)redis-benchmark.exe -h 127.0.0.1 -p 6379 -c 100 -n 1000000linux命令./redis-benchmark -h localhost -p 6379 -c 1..原创 2020-07-28 14:02:06 · 2236 阅读 · 0 评论 -
redis命令学习1
第一部分—熟悉命令Redis-Key1、keys *:查询存在的key2、exists name: 查询是否存在为name的key,存在返回13、move name 1: 将name的key移动到数据库1(默认操作数据库0,共有16个数据库0-15)4、set name yuec: 存key为name,value为yuec5、get name: 获取key为name的值6、expire name 20: 设置name的过期时间TTL,单位为秒7、ttl name:查看name的过期时间S原创 2020-07-29 14:47:14 · 177 阅读 · 0 评论