【云技术】Redis学习笔记
记录Redis的一些功能与特征,以点的方式记录,以便后续唤醒面的记忆。
数据类型
string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、GEO(地理数据)、HyperLogLog。
redis模块
redis module的版本独立于redis,以编译成动态加载库.so文件的方式发布。
常用的module有RedisSearch、BloomFilter、Redis-ML等。
数据持久化
支持RDB和AOF两种持久化方案。
分布式锁
使用setnx指令和expire指令可以实现分布式锁的功能,使用mutil指令同时提交两条指令可以做到事务操作。
发布与订阅
发布订阅功能有点类似消息队列,但是redis的消息订阅功能的使用场景非常有限,并且数据量也不能太大,不支持堆积与回溯。
事务
key过期清除策略
内存淘汰策略
缓存穿透
缓存击穿
常用的解决方案有加互斥锁或信号量。
缓存雪崩
缓存出现错误不能工作时,所有请求都直接访问存储层。
部署架构@单机
缺点:单点故障无法使用、单机资源受限。
部署架构@主从复制
缺点:写入能力受限,只有一台主机,出故障时可能会引起数据不一致。
部署架构@哨兵模式
优点:哨兵在主从的基础之上,提升了系统的可用性。
部署架构@集群
优点:服务高可用。
缺点:搭建成本高。