目录 一、为什么要用缓存?用了缓存之后会有什么不良后果?二、 Redis数据类型有哪几种stringhashlistsetsorted set三、Redis过期策略都有哪些内存淘汰机制手写一个 LRU 算法四、关于Redis持久化 若在项目中使用Redis作缓存,就必须考虑持久化这是保证可靠性,redis 持久化两种方式RDB 和 AOF 到底该如何选择(个
转载 2023-10-10 22:21:43
9阅读
1.缓存使用过程中可能遇到问题1.1缓存穿透含义: 查询一个一定不存在数据,缓存和数据库不存在数据。因为缓存不存在,所以每次都会直接去数据库查询,缓存失去了意义。当大量访问这种不存在数据时,就造成了缓存穿透。解决方案:可以对访问进行过滤,将所有可能数据keyhashcode存储到BitSet中,判断请求id是否命中,如果没有命中,则说明不存在数据。hutool提供了BoolmFilter
转载 2023-05-25 17:14:09
41阅读
使用redis可能出现问题[1] 缓存雪崩[2] 缓存击穿[3] 缓存穿透[4] 三种问题区别记忆方法[5] 数据库和缓存双写一致性问题 首先我们应该先明确缓存处理流程: 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果. [1] 缓存雪崩指缓存由于某些原因(比如 宕机、cache服务挂了或者不响应)
转载 2023-07-12 16:04:55
47阅读
文章目录1、为什么使用 Redis2、单线程 Redis 为什么这么快3、Redis 数据类型及使用场景 String Hash List SetSorted Set4、Redis 过期策略和内存淘汰机制5、Redis 和数据库双写一致性问题6、如何应对缓存穿透和缓存雪崩问题7、如何解决 Redis 并发竞争 Key 问题 在实际开发中使用 Redis 时候,绝大部分人只会 Set
缓存失效背景:通过key查询值,先查询缓存是否存在,如果存在返回,不存在查询数据库,然后更新缓存并返回,如果数据库不存在返回null 例如:订单号是从1自增开始,如果或者其他服务传参为-1或者很大参数缓存穿透(db和缓存都没有)问题:当key为一个不符合业务场景值,缓存和数据库都不存在,外部侵入者就可以一直请求,导致数据库和缓存压力大解决: 1、业务判断,key值大小校验,不能为空或者大于
问题1:构建集群时候使用本地127.0.0.1地址,其他机器客户端无法执行操作/opt/soft/redis-3.0.7/src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 \ 127.0.0.1:7002 127.0.0.1:7003&
原创 2016-03-10 16:24:48
881阅读
1.redis批量删除key     redis-cli keys '*' | xargs redis-cli del 2.从连接池获取jedis链接,不需要进行关闭操作,如果关闭会报redis.clients.jedis.exceptions.JedisException: Could not return the resou
转载 2023-08-10 11:00:13
777阅读
redis遇到问题: 1、主从不同步(如:主库已过期,从库数据还存在,解决方式:判断ttl,若ttl>0,直接取redis;若是ttl<=0,则重新生成) 2、当前已用内存超过maxmemory限定时,触发主动清理策略 3、Redis过期键删除策略(遇到过冷数据没有删除情况,执行get命令后删除了)    (1)被动删除:当读/写一个已经过期key时,会触发惰性
转载 2023-05-25 13:03:51
0阅读
使用vim遇到问题问题1:怎样打开一个文件就到文件最后一行?问题2:怎样查找某个关键词问题3:怎样复制连续几行?问题4:怎样删除连续几行?问题5:怎样改变vi显示颜色?问题6:怎样跳转到某一行?问题7:怎样显示行号?问题8:怎样到文件第一行?怎样到文件最后一行?问题9:怎样到某一行第一个字符?怎样到某一行最 后一个字符?    &nbs
原创 2009-02-11 10:21:54
516阅读
1、跨域配置 // 请求跨域@Configurationpublic class CorsConfig implements WebMvcConfigurer { static final String ORIGINS[] = new String[] { "GET", "POST", "PUT", ...
转载 2021-09-06 11:35:00
267阅读
2评论
使用grpc遇到问题使用grpc报错protoc did not exit cleanly. Review output for more information.或src\main\protobuf: warning: directory does not exist.解决方案:不能使用中文目录(一定不要出现中文目录)在maven中找到相关模块grpc中plugin中protobuf,执
原创 2023-11-08 09:19:39
2313阅读
spring 注解使用过程中问题报错信息:available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}报错说很明白
原创 2022-04-02 14:13:07
301阅读
前言本文记录我在使用jenkins过程中遇到一些问题。无法执行bat如果出现bat执行出错,解决办法如下:1. 打开 服务,找到 jenkins服务2. 修改jenkins属性如下
原创 2021-07-20 17:40:21
1120阅读
1、卸载系统再带apache报错:Failde dependencies:存在依赖关系解决方法:添加以下参数:--nodeps:安装、升级、卸载是不会检查软件包依赖信息--allmatches:是把与这个rpm包所有相匹配rpm包全部删除掉;2.安装mysql,在./configure时出现错误: No curses/termcap library found:没有找到curses/termc
原创 2013-05-28 10:09:12
618阅读
SWIG (Simplified Wrapper and Interface Generator)是一个连接C和C编写程序和其他脚本语言接口编译器,如Perl、Python、Ruby和Tcl等脚本语言。编写好C和C程序可以通过SWIG编译成其他语言接口。这里记录使用SWIG将C++代码转为p ...
转载 2021-08-02 19:06:00
357阅读
2评论
1、使用IDEA往github上面上传java项目的时候,需要将idea自动生成配置文件上传上去。如果只上传了你自己写代码,那么别人clone你代码运行时,就会出现问题。下面时我遇到问题。 a、这个图片时新建项目时IDEA自动生成misc,定义了输出路径,也就是编译之后文件路径。 b、如 ...
转载 2021-07-25 14:20:00
250阅读
2评论
1.[Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render f ...
转载 2021-10-26 18:32:00
761阅读
2评论
1、文件没法上传,需要引入ueditor官网说那几个jar包才行 2、上传文件读不出来,路径不对,需要把config.json里面的所有【“”】替换成【/你项目路径】,即把所有的Prefix路径都改成你项目路径 3、上传视频打不开,这是一个ueditor(1.4.4.4版)bug,con
原创 2022-02-28 13:44:59
152阅读
记录一次excel导出问题 easyexcel导出文件报错NullPointerException 使用easyexcel导出excel文件时候,本地正常导出,运行至服务器上导出异常 服务器报错日志:java.lang.NullPointerException: null at sun.awt. ...
转载 2021-09-28 15:30:00
1624阅读
2评论
1.SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.解决方法:在pom.xml 添加如下依赖即可<dependency> <groupI
原创 2022-01-10 17:54:58
1101阅读
  • 1
  • 2
  • 3
  • 4
  • 5