redis缓存三大问题-redis缓存不设置失效(4-4-54)
更新时间:2024-07-22 分类:Redis 浏览量:2
Redis本文目录一览:
- 1、Redis缓存过期机制
- 2、redis缓存有多久
- 3、redis常见问题
Redis缓存过期机制
当内存占满之后,redis提供缓存淘汰机制。
Redis缓存机制主要作用在于提高数据访问速度、减轻数据库压力、提高系统性能。
集中处理 Redis会将设置了过期时间的key放到一个独立的字典里,默认每秒10次过期扫描。扫描方式:为防止扫描时间过长,扫描时间限制为25ms,开发时应尽量避免大量key同时过期。
淘汰简介Redis官方给的警告,当内存不足时,Redis会根据配置的缓存策略淘汰部分keys,以保证写入成功。当无淘汰策略时或没有找到适合淘汰的key时,Redis直接返回out of memory错误。
redis缓存有多久
在Redis中的数据一般在内存中进行存取,在没有进行持久化之前这些数据都有过期时间,对于Redis的过期时间需要通过对key设置过期时间,一般时间的设置需要根据项目改变,可以设置一段时间后或者永久不失效。
redis只支持String,hashmap,set,sortedset等基本数据类型,但是不支持联合查询,所以它适合做缓存。3,有时候缓存的数据量非常大,如果这个时候服务宕机了,且开启了redis的持久化功能,重新启动服务,数据基本上不会丢。
Redis数据都是缓存在计算机内存中并且它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化。
数据一致性:由于Redis缓存中的数据与数据库中的数据可能存在不一致的情况,这会导致用户在查询数据时看到不一致的结果。数据过期:缓存数据有过期时间,如果缓存数据过期,需要重新从数据库中获取,这可能会影响查询速度。
redis常见问题
1、以下是Redis常见的性能问题有哪些?Master写内存快照,save命令调度rdbSave函数,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性暂停服务,所以Master最好不要写内存快照。
2、缓存击穿 缓存击穿是指一个请求要访问的数据,缓存中没有,但数据库中有的情况。这种情况一般都是缓存过期了。
3、Redis中的Map被误删除:在某些情况下,可能会出现误删除Map的情况,例如在操作时误执行了DEL命令或者使用了错误的键名。
4、Redis主从复制的性能问题,为了主从复制的速度和连接的稳定性,Slave和Master最好在同一个局域网内。关于Redis 常见的性能问题都有哪些,青藤小编就和您分享到这里了。
5、开启redis-benchmark压测进程 检查复制积压缓冲区内存消耗,可以看到因为缓冲区设置过大,数据量才存储190多M,Redis就无法写入了。