- 博客(5)
- 收藏
- 关注
原创 缓存淘汰策略
该策略是Redis的默认策略。在这种策略下,一旦缓存被写满了,再有写请求来时,Redis 不再提供服务,而是直接返回错误。这种策略不会淘汰数据,所以无法解决缓存污染问题。一般生产环境不建议使用。其他七种规则都会根据自己相应的规则来选择数据进行删除操作。这个算法比较简单,在设置了过期时间的键值对中,进行随机删除。因为是随机删除,无法把不再访问的数据筛选出来,所以可能依然会存在缓存污染现象,无法解决缓存污染问题。这种算法判断淘汰数据时参考的指标比随即删除时多进行一步过期时间的排序。
2024-02-26 23:37:44
230
1
原创 mongodb和redis的区别:
MongoDB 数据存在内存,由 linux系统 mmap 实现,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。但是,mongodb不一样,只要,业务上能保证,冷热数据的读写比,使得热数据在物理内存中,mmap的交换较少。MongoDB 数据结构比较单一,但是支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。当物理内存不够用的时候,redis和mongodb都会使用虚拟内存。
2024-02-22 20:00:56
371
1
原创 MySQL幻读攻略指南
当多个事务同时执行相同的查询操作时,如果其中有一个事务进行了插入、更新或删除操作,就有可能导致其他事务的查询结果与之前不同。这样一来,事务B就能够读取到之前的数据版本,而不受事务A的修改影响,从而避免幻读问题的出现。如果在该事务执行期间,另一个事务插入了一条满足条件的数据,那么该查询语句就会返回比之前更多的数据,产生幻读问题。我们可以在事务B执行查询操作时,指定一致性级别为“可重复读”,这样就可以避免事务A对数据的修改对事务B造成干扰。在事务中执行多个查询时,要使用相同的一致性级别,以保证数据的一致性;
2024-02-21 22:24:50
313
原创 整合ELK实现日志收集以及测试
搭建了 ELK 日志收集系统之后,我们如果要查看测试框架的日志信息,就不需要查看日志文件了,直接在 Kibana 中查看即可。
2023-01-13 22:46:35
457
原创 service层使用接口的好处
或者假如我没有实现接口,我这个类给别人注入使用,后来我这个类另一个人也想用同样的那个方法,但是功能逻辑和原来的不一样了,而且原来的功能别人也还在调用,那么我就得改原来的逻辑。但是如果使用接口就可以再写一个实现类,另一个人用新的实现类的方法就行了,不用修改原来的方法。如果实现类没有接口,如果有一天这个实现类不想用了,换成另一个实现类,众多方法调用了我的实现类中的方法,那么是不是每一个调用我实现类的都要改一下呢?至少我换一个实现类或者改n次实现类的名字也不会让调用方去跟着改,因为我接口没变,你只是调我接口。
2023-01-13 17:50:39
673
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人