什么是 Redis

什么是 Redis

Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD 许 可)高性能非关系型(NoSQL)的键值对数据库。Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值 支持五种数据类型:字符串、列表、集合、散列表、有序集合。 与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快, 因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10 万次读写操作,是已知性能最快的 Key-Value DB。另外,Redis 也经常用来做分布式锁。除此之外, Redis 支持事务 、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。

Redis 有哪些优缺点:

优点: • 读写性能优异, Redis 能读的速度是 110000 次/s,写的速度是 81000 次 /s。

• 支持数据持久化,支持 AOF 和 RDB 两种持久化方式。

• 支持事务,Redis 的所有操作都是原子性的,同时 Redis 还支持对几个操 作合并后的原子性执行。

• 数据结构丰富,除了支持 string 类型的 value 外还支持 hash、set、 zset、list 等数据结构。

• 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。 缺点 • 数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此 Redis 适合的场景主要局限在较小数据量的高性能操作和运算上。

• Redis 不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读 写请求失败,需要等待机器重启或者手动切换前端的 IP 才能恢复。

• 主机宕机,宕机前有部分数据未能及时同步到从机,切换 IP 后还会引入 数据不一致的问题,降低了系统的可用性。

• Redis 较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复 杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这 对资源造成了很大的浪费。

缺点:

• 数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此 Redis 适合的场景主要局限在较小数据量的高性能操作和运算上。

• Redis 不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读 写请求失败,需要等待机器重启或者手动切换前端的 IP 才能恢复。

• 主机宕机,宕机前有部分数据未能及时同步到从机,切换 IP 后还会引入 数据不一致的问题,降低了系统的可用性。

• Redis 较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复 杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这 对资源造成了很大的浪费。

 

posted @   deigang  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示