排序
Redis五种数据类型及应用场景
1. 内容大纲 Redis 提供了丰富的数据类型,常见的有五种:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合)。 随着 Redis 版本的更新,后面又支持了四种数据类型...
如何用Redis实现分布式锁,其有哪些优缺点?
分布式锁是用于分布式环境下并发控制的一种机制,用于控制某个资源在同一时刻只能被一个应用所使用。如下图所示: 分布式锁 Redis 本身可以被多个客户端共享访问,正好就是一个共享存储系统,可...
Redis管道有什么用?
管道技术(Pipeline)是客户端提供的一种批处理技术,用于一次处理多个 Redis 命令,从而提高整个交互的性能。 普通命令模式,如下图所示: 普通命令模式 管道模式,如下图所示: 管道模式 使用...
Redis如何实现延迟队列?
延迟队列是指把当前要做的事情,往后推迟一段时间再做。延迟队列的常见使用场景有以下几种: 在淘宝、京东等购物平台上下单,超过一定时间未付款,订单会自动取消; 打车的时候,在规定时间没有...
Redis常见的缓存更新策略有哪些?
常见的缓存更新策略共有3种: Cache Aside(旁路缓存)策略; Read/Write Through(读穿 / 写穿)策略; Write Back(写回)策略; 实际开发中,Redis 和 MySQL 的更新策略用的是 Cache Aside,...
如何设计一个缓存策略,可以动态缓存热点数据呢?
由于数据存储受限,系统并不是将所有数据都需要存放到缓存中的,而只是将其中一部分热点数据缓存起来,所以我们要设计一个热点数据动态缓存的策略。 热点数据动态缓存的策略总体思路:通过数据...
如何避免缓存雪崩、缓存击穿、缓存穿透?
如何避免缓存雪崩? 通常我们为了保证缓存中的数据与数据库中的数据一致性,会给 Redis 里的数据设置过期时间,当缓存数据过期后,用户访问的数据如果不在缓存里,业务系统需要重新生成缓存,因...
LRU算法和LFU算法有什么区别,redis分别是如何实现的?
什么是LRU算法? LRU 全称是 Least Recently Used 翻译为最近最少使用,会选择淘汰最近最少使用的数据。 传统 LRU 算法的实现是基于「链表」结构,链表中的元素按照操作顺序从前往后排列,...