Redis
redis
咸鱼妹WWW
这个作者很懒,什么都没留下…
展开
-
Redis——redis这么快,为什么还是单线程?
Redis 确实是单进程单线程的模型,因为 Redis 完全是基于内存的操作,CPU 不是 Redis 的瓶颈,Redis 的瓶颈最有可能是机器内存的大小或者网络带宽。 ①Redis 完全基于内存,绝大部分请求是纯粹的内存操作,非常迅速,数据存在内存中,类似于 HashMap,HashMap 的优势就是查找和操作的时间复杂度是 O(1)。 ②数据结构简单,对数据操作也简单。 ③采用单线程,避免了不必要的上下文切换和竞争条件,不存在多线程导致的 CPU 切换,不用去考虑各种锁的问题,不存在加锁...原创 2020-05-15 14:39:56 · 139 阅读 · 0 评论 -
Redis——Redis雪崩
缓存雪崩 数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。 比如一个雪崩的简单过程: 1、redis集群大面积故障 2、缓存失效,但依然大量请求访问缓存服务redis 3、redis大量失效后,大量请求转向到mysql数据库 4、mysql的调用量暴增,很快就扛不住了,甚至直接宕机 5、由于大量的应用服务依赖mysql和redis的服务,这个时候很快会演变成各服务器集群的雪崩,最后网站彻底崩溃。 ...原创 2020-05-15 14:33:25 · 299 阅读 · 0 评论 -
Redis——Redis的数据类型
①String 是 Redis 最基本的类型,可以理解成与 Memcached一模一样的类型,一个 Key 对应一个 Value。Value 不仅是 String,也可以是数字。 String 类型是二进制安全的,意思是 Redis 的 String 类型可以包含任何数据,比如 jpg 图片或者序列化的对象。String 类型的值最大能存储 512M。 ②Hash是一个键值(key-value)的集合。Redis 的 Hash 是一个 String 的 Key 和 Value 的映射表,Hash 特别适原创 2020-05-14 17:57:00 · 84 阅读 · 0 评论 -
Redis——Redis是什么
Redis是一个C语言开发的一个开源的高性能键值对的内存数据库。可以用作数据库,缓存,消息中间件等。它是一种NoSQL(泛指非关系型数据库)的数据库。 性能优秀,数据在内存中,读写速度非常快,支持并发 10W QPS。单进程单线程,是线程安全的,采用 IO 多路复用机制。丰富的数据类型,支持字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。支持数据持久化。可以将内存中数据保存在磁盘中,重启时加载。主从复制,哨兵,高可用。可以...原创 2020-05-14 17:55:25 · 144 阅读 · 0 评论