随笔分类 - Redis
摘要:一. 概念 1. Redis缓存策略 业务场景需求: 1. 在基本不会更新数据的情况下可以使用内存淘汰机制 2. 在频繁更新数据的情况下可以使用主动更新,并以超时剔除作为兜底方案。 2. 主动更新的3种方法 1. Cache Aside Pattern:由缓存的调用者,在更新数据库的同时更新缓存 2
阅读全文
摘要:直接上图, 拒绝BB.......
阅读全文
摘要:1.Redis实现简单队列(先进先出) 主要是利用list特性: lpush,rpush操作入队列,,,,, lpop,rpop操作出队列,,,, 但是当队列为空时,lpop和rpop会一直空轮训,消耗资源; 所以引入阻塞读blpop和brpop(b代表blocking),阻塞读在队列没有数据的时候
阅读全文
摘要:Redis缓存处理流程: 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 1.缓存穿透 指的是大量请求都在查询一个不存在key,,导致所有请求最终都落在数据库上,,造成数据库压力巨大 解决: 1)针对不存在的
阅读全文
摘要:Redis持久化机制: RDB快照 AOF日志 一. RDB快照 1.概念 RDB是把当前进程数据生成快照保存到硬盘的过程(以二进制方式写入磁盘) 2.触发机制: 手动和自动 【1】手动触发分别对应save和bgsave命令 ·save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存
阅读全文
摘要:一.Redis过期策略 1. 设置过期命令 expire设置生存时间 expireat设置过期时间点(时间戳) 2. key的3种过期策略 (1)定时删除:在设置过期时间的同时,设置一个定时器,定时器的执行时间就是过期的时间点。 优点:对内存最友好,过期的键会以最快的被删除,释放内存。 缺点:对CP
阅读全文
摘要:1. redis事务概念: 可以一次执行多个命令,本质是一组命令的集合。 一个事务中的所有命令都会序列化,按顺序串行化执行而不会被其它命令插入,一次性、顺序性、排他性的执行一系列命令。 2. 5个常用命令: 【1】MULTI: 标记一个事务块的开始 【2】EXEC: 执行事务块中所有的命令 【3】D
阅读全文
摘要:redis是一个基于键值对的NoSQL数据库 redis的数据类型: 键的类型只能为字符串 值的类型有5种: 字符串String 哈希hash 列表list 集合set 有序集合zset redis为什么快? 1)redis使用了单线程架构和I/O多路复用模型 2)纯内存访问 3)单线程避免了线程上
阅读全文