
Redis
文章平均质量分 76
不平衡的叉叉树
I'm nobody, but I want to be somebody.
展开
-
JVM堆内存配置错误导致过长的STW
其次怀疑是数据迁移导致的问题,因为历史原因,之前的数据在创建的时候很不规范,所以在迁移的时候进行数据分析时比较麻烦,会导致迁移后的数据与旧数据对应不上。然后再查看服务引入的redis依赖包,因为该依赖包是公司自研的,并且我在其基础上添加了redis加锁重试机制,因为报错的地方就是在执行加锁重试那一块代码,所以我怀疑是这部分代码的问题。先查看调用方的日志,发现确实是进入到服务提供方(此次重构的服务)之后就出现问题了,顿时心凉半截,想着多怕是自己写的代码问题。堆内存在增加到最大堆内存之前,一直没进行回收。原创 2024-07-13 15:14:03 · 996 阅读 · 0 评论 -
如何防止接口被恶意请求?添加时间戳检验?
Autowired@Autowired@Autowired@Overridethrow new UserException(ReturnCode.PARAMETERS_ERROR, "缺少session");//获取方法中的注解,看是否有该注解= null){//从redis中获取用户访问的次数// 有可能ip是代理的//第一次访问//加1}else{//超出访问次数。原创 2023-08-01 10:41:30 · 991 阅读 · 0 评论 -
windows系统配置多个redis端口实例
找到redis的配置文件redis.windows-service.conf,复制一份该配置文件到该目录下面,更改文件名为redis.windows-service-6380.conf(自定义)。打开redis管理工具RedisDesktopManager连接到6380这个端口的redis服务,确认是否可以连接成功。右键此电脑-管理-服务和应用程序-服务,查看是否有名称为redis_6380的服务实例。1)、右键上述redis_6380的服务实例,点击启动或者关闭。4、启动和关闭redis服务。原创 2023-06-26 19:49:30 · 1036 阅读 · 1 评论 -
Redis缓存满了咋办?什么叫近似LRU算法?为啥不使用真实LRU?
Redis缓存满了怎么办?那还用说吗,满了就删除一些旧数据不就有空间了嘛。只是不能瞎删,要遵循策略删。由此,就产生了下图所示的Redis内存淘汰策略:下面详细介绍一下Redis使用的LRU算法(近似)。近似LRU算法什么叫LRU算法呢?LRU的全称是Least Recently Used,也就是 最近最少使用 策略,判断数据最近被使用的时间,距离目前时间最远的数据优先被淘汰,是根据访问时间来更改链表顺序从而实现缓存淘汰的算法。它的核心思想是:如果该数据最近被访问,那么将来被访问的几原创 2022-09-15 10:32:51 · 618 阅读 · 0 评论 -
面试官让我讲一下Redis缓存的一致性hash算法
前提:我们应该知道,使用Redis缓存是为了提高系统性能,而且当数据量特别大的时候,单台缓存服务器也会显得比较吃力,所以我们需要用到多台缓存服务器来降低单台缓存服务器的压力。这就会出现一个问题:我们如何保证数据可以均匀的分布在这几台缓存服务器上?为了解决这个问题,就出现了普通hash算法和一致性hash算法。下面会对这两种方法进行介绍。普通hash算法普通hash算法其实就是我们平时经常说的取模算法。普通hash算法的应用场景假设我们有三台缓存服务器,分别设置编号为0号、1号和2号,现在原创 2022-08-25 14:18:30 · 715 阅读 · 0 评论 -
面试官:你是如何保障MySQL数据库与Redis缓存的数据一致性?
什么是数据库与缓存的一致性?数据一致性?数据一致性是值:1)缓存中存有数据,并且该数据在缓存中的数据值=数据库中的数据值。2)缓存中没有该数据,那么数据库中的值=最新值。为什么会有一致性问题?在我们把Redis作为缓存的时候,如果数据需要更改,我们就得经过双写来保证缓存与数据库的数据一致性。如果要保证强一致性的话,势必要引入2PC等分布式一致性协议,或者引入分布式锁等技术,但是这肯定也会对性能有影响,这也违背了我们使用Redis缓存的目的 -- 提高性能。所以我们现在谈的数据原创 2022-08-24 16:28:49 · 449 阅读 · 4 评论 -
如何解决 Redis【缓存穿透】、【缓存击穿】、【缓存雪崩】这些问题?
如何解决缓存穿透问题如何解决缓存击穿问题如何解决缓存雪崩问题原创 2021-09-28 20:27:58 · 212 阅读 · 0 评论