
redis
redis
Rainly2000
硕士在读,口头禅是 业精于勤荒于嬉,行成于思毁于随,人生有着无限的可能不要轻易给自己设限
展开
-
Redisson 看门狗机制
总之,Redisson Watch Dog机制是一个非常有用的工具,可以帮助开发人员轻松地监视Redis中的键并在其发生变化时进行相应的操作。通过使用Redisson库中提供的watch方法和addListener方法,我们可以轻松地实现Watch Dog机制,并在我们的应用程序中处理Redis数据的变化。总之,Redisson Watch Dog机制是一种强大的功能,可以帮助开发人员实时地监视Redis中的键,并在键发生变化时进行相应的操作。例如,应用程序可以重新读取被修改的键并更新自己的数据。原创 2023-04-16 18:18:47 · 3552 阅读 · 0 评论 -
windows底下 docker挂载目录
docker 在windows底下进行镜像与本地目录的挂载原创 2023-03-06 14:59:16 · 893 阅读 · 0 评论 -
redis事件机制
redis是一个基于事件驱动的程序一、文件事件服务器通过套接字与客户端或者其它服务器进行通信,文件事件就是对套接字操作的抽象。Redis 基于 Reactor 模式开发了自己的网络事件处理器,使用 I/O 多路复用程序来同时监听多个套接字,并将到达的事件传送给文件事件分派器,分派器会根据套接字产生的事件类型调用相应的事件处理器。如下图所示:二、时间事件服务器有一些操作需要在给定的时间点执行,时间事件是对这类定时操作的抽象。时间事件又分为:1.定时事件:是让一段程序在指定的时间之内执行一次;原创 2022-05-30 14:13:12 · 238 阅读 · 0 评论 -
基于jedis实现支持事务特性的redis操作
import java.util.List;import redis.clients.jedis.Jedis;import redis.clients.jedis.Transaction;public class TransactionDemo {public static void main(String[] args) {Jedis jedis = new Jedis();String userId = "abc";String key = keyFor(userId);jedis.s原创 2022-03-06 15:06:46 · 94 阅读 · 0 评论 -
基于java实现一个 漏斗限流算法
以下代码实现了 漏斗的限流,核心是makespace 方法,代码如下:public class FunnelRateLimiter { static class Funnel { // 漏斗容量 int capacity ; // 限流速率 float leakingRate ; // 剩余容量 int leftQuota ; // 时间 long leakTs ;原创 2022-03-05 14:10:00 · 1068 阅读 · 0 评论 -
分享一个通过图形化方式解析分布式一致性算法raft的网址
如题:具体地址为: http://thesecretlivesofdata.com/原创 2022-02-27 13:11:14 · 167 阅读 · 0 评论 -
redis位操作之一个非常实用的指令:魔术指令(bitfield)
redis3.2版本中新增了一个强大的指令 bitfield,又被称作 魔术指令,它可以不用管道也可以一次进行多各位的操作,以下为使用示例:上述指令表示从 第一位开始取3位 结果为有符号数 以及从第三位开始 取4位,结果为无符号数...原创 2022-02-27 13:08:35 · 1653 阅读 · 0 评论 -
浅谈redis sentinel raft 算法
分布式一致性算法的诞生是为了解决多个节点之间数据一致性问题的。LOG REPLICATION:1、分布式环境中的三个状态:FOLLOWER、CANDIDATE、LEADER2、LEADER ELECTION:当leader宕机或者是不可用之后就会出发新的leader选举,这就叫做 leader election3、log replication: 在选举出新的leader时,由于此时所有的写操作日志还没有同步导其他的follower节点所以此时写操作日志处于未提交状态,当超过半数的follower节原创 2022-02-26 18:09:19 · 1617 阅读 · 0 评论 -
基于redis实现的ip限流方案
需求: 同一个IP在 一定的时间内只能访问制定的次数,否则就不处理请求具体思路: 这里借助的是redis的string数据类型,用 key保存IP地址,value为访问的次数,而访问的时间和规定的次数则是通过参数进行传递的。当有一个请求来访问的时候则记录它的IP,则对其值加1,并设置过期时间倘若超出访问次数限制就返回0,否则返回1。过期之后即可重新访问具体的实现是通过lua脚本来实现的,代码如下:其中 KEYS[1]是保存 IP地址的 key值,ARGV[1]是过期时间,ARGV[2]是限原创 2022-02-25 17:00:05 · 2894 阅读 · 0 评论 -
如何保证缓存与数据库的数据双写一致性?
如何保证缓存和数据库的双写一致性1、最经典的缓存+数据库读写的模式,就是 Cache Aside Pattern。(1)、读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应(2)、更新的时候先更新数据库,再去删除缓存之所以是先删除缓存而不是去更新缓存就是为了避免大量的更新更新缓存操作所带来的资源消耗,并且大量被更新的数据不一定经常被使用到,也就是说缓存应该只是用到它的时候采取计算缓存,这样就可以避免大量的冷数据存储到缓存中去。缓存不一致问题的解决方案:1、最初级的原创 2021-12-21 22:50:25 · 699 阅读 · 0 评论