Redis为什么快

很多人接触redis的原因是因为它快,一般说到redis为什么快,一般都会说redis是基于内存的数据库,操作内存和操作磁盘的时间相差很大,还有是redis使用了单线程,减少了多线程频繁切换带来的损耗
本文从我对redis的理解,列出redis快的原因,如果文中有错误,麻烦指出

基于内存

redis是基于内存的存储,众所周知,访问内存比访问磁盘快得多,虽然redis有持久化的机制,最终的数据都会以某种形式落盘,用于防止服务器宕机造成数据丢失,但使用redis过程中的读写都是对内存进行操作的,访问速度很快

数据结构

redis的数据结构同样也提高了数据库查询的效率,主要有两个方面

  1. 存储方式是键值形式(key-value),底层是哈希表,哈希表的时间复杂度是O(1),有哈希表就一定有哈希冲突,redis对于哈希冲突的解决方案是链地址法(不清楚的话百度一下),这样在数据多的时候访问性能也会下降,但redis使用了一些优化方式来解决这个问题,在下一篇文章redis数据结构中介绍
  2. 第一点说到存储方式是键值(key-value),其中value有五种数据类型,分别是字符串、列表、集合、有序集合、哈希表,每一种数据类型低层都对应着多种实现和优化,在下一篇文章redis数据结构中介绍

上面提到关于数据结构的两点也是redis快的原因之一

单线程

单线程和多线程各有好处,针对redis的使用场景使用多线程的预期效果和实际效果如下

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值