
Redis
文章平均质量分 84
Redis
keYuK0
永远保持好奇心和深入探究的精神,它是我们不断进步的核心驱动力
展开
-
Redis缓存不一致的问题(五)
缓存不一致的情况有两种:Redis缓存中是旧值;数据库中值是旧值;缓存一致性需要保证的是,当缓存中有值的时候,数据库的值必须与缓存一致。根据是否接收写请求,可以将缓存分为读写缓存和只读缓存。两种发生缓存不一致的情况不同,需要分开来应对。在只读缓存中,新增数据会直接写到数据库中,不会操作缓存,所以不会出现缓存不一致。删改数据时,需要删除数据库和缓存中的数据,在删改数据库和缓存时,无论哪个先后,中间出现故障都会产生旧值,即缓存不一致的情况。如何解决数据不一致重试机制可以将要删除的缓存值或者原创 2021-05-27 23:46:26 · 379 阅读 · 0 评论 -
Redis常见的问题:缓存雪崩、缓存击穿、缓存穿透难题(四)
Redis 缓存异常常见的问题有缓存雪崩、缓存击穿、缓存穿透。这三个问题一旦发生,请求量就会堆积到数据库层。如果请求的并发量大,那么就会导致数据库宕机或是故障。缓存雪崩缓存雪崩指的是,大量的应用请求无法在Redis缓存中处理,大量请求会发送到数据库层,导致数据库层的压力激增。引发雪崩的原因有两个。一是因为,缓存中有大量的缓存同时过期失效,导致大量请求无法得到处理;还有是因为,Redis缓存实例发生故障宕机了,无法处理请求,大量请求就会发送到数据库层。针对缓存同时失效的问题,有这样的解决方案。一原创 2021-05-15 21:40:16 · 170 阅读 · 0 评论 -
Redis的持久化机制AOF与RDB(三)
Redis的持久化机制AOF与RDB 因为Redis是内存数据库,意味着一旦服务器宕机或者其它原因引起的关机,内存中的数据将全部丢失。为快速恢复,Redis也有相应的持久化策略。Redis持久化主要有两大机制,即AOF(appen only file)日志和 RDB快照。AOF日志 在关系型数据库中,有个叫WAL的技术,即在实际记录数据前,会先把修改的数据记到日志文件中,以便故障时的数据恢复。而AOF是写后日志,即先执行命令将数据写入内存,然后才记录日志。为什么Redis要先写内存再写日志呢?原创 2021-05-13 17:38:03 · 233 阅读 · 0 评论 -
Redis底层数据结构和reHash过程(二)
Redis底层数据结构 Redis常用的类型有STRING(字符串)、LIST(列表)、SET(集合)、HASH(散列)、ZSET(有序集合)Redis 键值对存储的结构 为了实现从键到值的快速访问,Redis使用了哈希表来保存所有键值对。键对应Redis设置的Key,而值对应的并不是值本身,而是指向具体值的指针。使用哈希表的最大好处就是可以用O(1)的时间复杂度快速找到键值对。但既然是哈希表,那么必然会有着哈希冲突的问题。 哈希冲突即指的是,当两个key的哈希值和哈希桶计算对应关系时,正好原创 2021-04-21 23:30:19 · 355 阅读 · 0 评论 -
Redis常用的基本操作命令(一)
Redis 简介Redis是一个速度非常快的非关系数据库,它可以存储键(key) 与5种不同类型的值(value)之间的映射,可以将存储在内存的键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片1来扩展写性能。Redis的数据结构 Redis共有5种数据结构,分别为字符串(STRING)、列表(LIST)、集合(SET)、散列(HASH)、有序集合(ZSET)。1. 字符串(STRING)通过key-value的方法去存储字符串,字符串可以存储字符串、整数、浮点数这原创 2021-04-21 23:32:25 · 241 阅读 · 0 评论