十里河网站建设公司,vi设计用什么软件,百度贴吧论坛,wordpress用户名密码破解Redis常见问题Redis为什么快 #xff1f;Redis为什么快 #xff1f;
根据官方数据#xff0c;Redis 的 QPS 可以达到约 100000#xff08;每秒请求数#xff09;#xff1b; 基于内存 对于磁盘数据库来说#xff0c;首先要将数据通过 IO 操作读取到内存里再读取#x…
Redis常见问题Redis为什么快 Redis为什么快
根据官方数据Redis 的 QPS 可以达到约 100000每秒请求数 基于内存 对于磁盘数据库来说首先要将数据通过 IO 操作读取到内存里再读取 而Redis读写都是在内存上完成的 单线程 Redis 的单线程指的是 Redis 的 网络 IO 以及键值对指令读写是由一个线程来执行的保证了每个操作的原子性避免了多线程时上线文切换 对于 Redis 的持久化、主从同步、异步删除等都是其他线程执行。 多线程 当多线程并行修改共享数据的时候会有数据安全需要加锁机制就会带来额外的性能开销 五种数据结构 根据不同数据类型使用不同的数据结构速度才得以提升 String缓存、计数器、分布式锁等。 List链表、队列、微博关注人时间轴列表等。 Hash用户信息、Hash 表等。 Set去重、赞、踩、共同好友等。 Zset访问量排行榜、点击量排行榜等。 Redis是键值型数据库整个就是一个哈希表哈希表本身复杂度就是O(1)只需要计算哈希值就可以定位到key 当写入 Redis 的数据越来越多的时候哈希冲突不可避免会出现不同的 key 计算出一样的哈希值。 Redis 通过链式地址法解决冲突也就是同一个 桶里面的元素使用链表保存。但是当链表过长就会导致查找性能变差可能所以 Redis 为了追求快使用了两个全局哈希表。用于 rehash 操作增加现有的哈希桶数量减少哈希冲突。 IO多路复用
参考 https://www.sohu.com/a/458584271_411876