鄂尔多斯教育网站入口,网络营销热点事件案例分析,开网络公司做网站挣钱吗,长春网站建设长春做网站公司公司一、Redis是什么 Redis 是一种基于内存的数据库#xff0c;对数据的读写操作都是在内存中完成#xff0c;因此读写速度非常快#xff0c;常用于缓存#xff0c;消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景#xff0c;比如 String(字符串)、…一、Redis是什么 Redis 是一种基于内存的数据库对数据的读写操作都是在内存中完成因此读写速度非常快常用于缓存消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景比如 String(字符串)、Hash(哈希)、 List (列表)、Set(集合)、Zset(有序集合)、Bitmaps位图、HyperLogLog基数统计、GEO地理信息、Stream流并且对数据类型的操作都是原子性的因为执行命令由单线程负责的不存在并发竞争的问题。 二、Redis与Memcached的区别
Redis 支持的数据类型更丰富String、Hash、List、Set、ZSet而 Memcached 只支持最简单的 key-value 数据类型Redis 支持数据的持久化可以将内存中的数据保持在磁盘中重启的时候可以再次加载进行使用而 Memcached 没有持久化功能数据全部存在内存之中Memcached 重启或者挂掉后数据就没了Redis 原生支持集群模式Memcached 没有原生的集群模式需要依靠客户端来实现往集群中分片写入数据Redis 支持发布订阅模型、Lua 脚本、事务等功能而 Memcached 不支持 从数据类型、持久化、网络IO、集群模式、是否支持事务/发布订阅模型来看区别 三、为什么用Redis作为MySQL的缓存
1、Redis 具备高性能内存数据库
假如用户第一次访问 MySQL 中的某些数据。这个过程会比较慢因为是从硬盘上读取的。将该用户访问的数据缓存在 Redis 中这样下一次再访问这些数据的时候就可以直接从缓存中获取了操作 Redis 缓存就是直接操作内存所以速度相当快。 2、 Redis 具备高并发QPS多
单台设备的 Redis 的 QPSQuery Per Second每秒钟处理完请求的次数 是 MySQL 的 10 倍Redis 单机的 QPS 能轻松破 10w而 MySQL 单机的 QPS 很难破 1w。
所以直接访问 Redis 能够承受的请求是远远大于直接访问 MySQL 的所以我们可以考虑把数据库中的部分数据转移到缓存中去这样用户的一部分请求会直接到缓存这里而不用经过数据库。 四、Redis为什么这么快
▪ 使用内存存储没有磁盘IO的开销
▪ 单线程处理请求避免线程切换和锁资源的开销
▪ 使用IO多路复用技术使用epoll
▪ 数据结构丰富可以直接应用的优化数据
▪ 冷热数据分离热数据在内存中冷数据在磁盘