FWQ
Redis高效率原因及数据结构分析
Redis高效率原因及数据结构分析 0浏览 收藏 对于一个数据库开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《Redis高效率原因及数据结构分析》,主要介绍了效率、Redis数据结构,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了! 1、什么是redis?它主要用来干什么的? Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。 知道redis是什么后,接下来我们来说一说redis为什么这么快。 2、redis为什么这么快? 我们来一个一个说明! 基于内存存储实现 计算机专业的同学我们都知道内存读写是要比磁盘快很多的,Redis是基于内存实现的数据库,相对于数据存在磁盘的mysql等数据库,省去了磁盘I/O的消耗。 高效的数据结构 我们都知道,mysql索引为了提高效率,选择了B+树的数据结构,对于一个应用场景来说合理的数据结构可以让你的应用或者程序更快。我们来看看Redis的数据结构–内部编码图: String : 动态字符串SDSList: 双端链表LinkedList+压缩链表ziplistHash: 压缩链表ziplist+字典哈希表hashtableSet: hashtable(+inset)Zset: 压缩链表ziplist+跳表skiplist 我们来说一说这几种内部编码: 1、SDS简单动态字符串…