当前位置 博文首页 > buttercup:Redis 博文索引
多功能
提供了丰富的数据结构,可以满足很多实用场景,基本上能做到开箱即用
并且支持管道、事务、发布订阅、缓存过期、Lua脚本支持等高级功能
高性能
数据内存数据库,读写无需访问外存
单线程设计,访问内存无需线程切换与同步
易部署
支持持久化,方便数据恢复
主从复制,提高数据的安全性
配合 Redis Cluster 可以实现数据分片,突破单机容量限制
配合 Redis Sentinel 可以实现自动灾备,实现高可用
存储容量受限
作为一款内存数据库,内存始终是主要瓶颈
由于内存价格较磁盘更为昂贵,因此需要细心规划 redis 的使用
CPU利用率
redis 的单线程设计,会导致多核 CPU 的资源利用率不高
需要同一台机器上部署多个实例来提高 CPU 使用率
大规模应用有坑
运维架构不完整,缺少监控
不擅长应对高连接数 (>10K) 或大数据量 (>16G) 的场景
缓存(效率至上)
单副本,关闭主从复制
关闭 AOF / BGSAVE,减少磁盘 I/O 对性能影响
节点宕机,直接切空实例(丢失部分数据)
数据库(兼顾安全)
双副本,开启主从复制
主库关闭 AOF / BGSAVE
主挂切备,备挂换新备
大规模应用(横向扩展)
搭建集群,分摊压力
读写分离,以一致性换取性能