![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
PasserBy*_*
路漫漫其修远兮,吾将上下而求索。
展开
-
使用Redis Key失效事件实现定时任务
1、业务场景在开发中我们可能会遇到下面这样的场景,比如: 当一个用户下单之后后一段时间不支付订单会自动关闭,但每个订单的创建时间又不一样怎么保证30分钟不支付就取消订单呢? 当用户的优惠券或者积分等等快要过期的时候需要提前一天或者几个小时或者30分钟的时候发消息提醒用户,或者去做一些其他的业务处理 那么针对上述场景我们怎么去实现呢?估计很多人首先会想到用定时任务每隔一段时间去执行任务判断吧,这种方式完全可行,但是如果是需要比较精确的提醒呢?就比如我就需要过期前一个小时或者30分钟的时候去提醒,那怎原创 2020-05-30 18:12:02 · 1616 阅读 · 0 评论 -
Redis持久化机制
1.由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了2.于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据3.redis提供两种方式进行持久化,一种是RDB持久化另外一种是AOF(append only file)持久化4.RDB持久化(不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”))R...转载 2019-09-10 20:50:19 · 105 阅读 · 0 评论 -
redis知识点学习总结
1.redis实现分布式锁2.redis实现唯一id3.操作redis的客户端实现 Jedis Jedis是Redis的Java实现的客户端,其API提供了比较全面的Redis命令的支持 Jedis中的方法调用是比较底层的暴露的Redis的API Jedis使用阻塞的I/O,且其方法调用都是同步的,程序流需要等到sockets处理完I/O才能执行,不支持异步。Jedis客户端...原创 2019-09-05 14:09:27 · 182 阅读 · 0 评论 -
redis分布式锁的使用
首先了解一下单机版redis和集群版redis的存储机制原理:1.使用单节点时的redis时只有一个表,所有的key都放在这个表里;2.改用Redis Cluster以后会自动为你生成16384个分区表2.只有了解了redis的存储原理才能更好的理解使用redis充当分布式锁的原因redis存储机制:https://blog.csdn.net/qq_38545713/article/d...原创 2019-05-14 14:43:36 · 212 阅读 · 0 评论 -
Redis中存值是Hash冲突怎么解决的
Redis 中的 Hash和 Java的 HashMap 更加相似,都是数组+链表的结构.当发生 hash 碰撞时将会把元素追加到链表上 我们先来了解下 hash 的内部结构.第一维是数组,第二维是链表.组成一个 hashtable. 在 Java 中 HashMap 扩容是个很耗时的操作,需要去申请新的数组,扩容的成本并不低,因为需要遍历一个时间复杂度为O(n)的数组,并且为其中的每个enr...原创 2020-04-14 11:35:15 · 7749 阅读 · 0 评论 -
redis的zset结构跳表
跳表:为什么 Redis 一定要用跳表来实现有序集合?上几篇主要是学习二分查找算法,但是二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现。如果数据存储在链表中,就没办法使用二分查找了吗?此时跳表出现了,跳表(Skip list)实际上就是在链表的基础上改造生成的。跳表是一种各方面性能都比较优秀的动态数据结构,可以支持快速的插入、删除、查找操作,写起来也不复杂,甚至...转载 2020-04-10 18:42:57 · 7157 阅读 · 2 评论 -
redis集群存储机制
redis说明: 一: 首先,在redis的每一个节点上,都有这么两个东西,一个是插槽(slot)可以理解为是一个可以存储两个数值的一个变量这个变量的取值范围是:0-16383。还有一个就是cluster我个人把这个cluster理解为是一个集群管理的插件。当你往Redis Cluster中加入一个Key时,redis会根据crc16的算法得出一个结果,然后把结果对16384 求余...原创 2019-04-27 13:51:01 · 4893 阅读 · 1 评论 -
分布式全局唯一ID生成策略
“唯一ID”在应用程序中是一个很常见的需求,它用于唯一标识一个业务对象、一个资源、或者一个消息等等。在数据库中,唯一ID一般是用来作为一个数据的主键。看过前面介绍MySQL索引原理的文章的朋友应该知道,主键对于数据库的重要性不言而喻。在单机场景下,要得到一个全局唯一的ID是非常容易的,你可以使用数据库的自增功能。但是如果在分布式的场景下,想要构建构建一个全局唯一的ID就有些不一样。因为分布...转载 2019-09-05 14:07:59 · 216 阅读 · 0 评论 -
redis集成springboot使用
1.要使用redisson需要先引入需要的jar包例: <!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifact...原创 2019-09-05 15:05:28 · 177 阅读 · 0 评论