1 / 47
文档名称:

火龙果软件-redis.ppt

格式:ppt   大小:1,118KB   页数:47页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

火龙果软件-redis.ppt

上传人:ogthpsa 2020/6/23 文件大小:1.09 MB

下载得到文件列表

火龙果软件-redis.ppt

文档介绍

文档介绍:redis目录背景Redis简介Redis是什么功能与特点内部实现(单机)整体数据框架基本数据结构优化机制索引优化内存优化持久化主从备份集群Key-value数据库设计与其他数据库对比Redis不足应用场景国际上最大的redis用户是谁?在众多的NOSQL数据库与传统的关系数据库中为什么会出现redis?传统的key-value数据库(文档,string类型)有什么不足?----数据结构需求传统的关系型数据库IO操作性能问题?----性能需求传统的内存数据库有什么不足?---可靠性需求背景背景传统MySQL+,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。。,大量访问直接穿透到DB,MySQL无法支撑。。Redis是一个开源的使用c语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value,多种数据结构的数据库,并提供多种语言(c,c#,java,javascript,perl,php,python,ruby,scala,erlang等)的API,仅有1万行代码。稳定版本发布于2011年3月4日。从2010年3月15日起,Redis的开发工作由VMware主持。应用场景:+(mc穿透,跨机房问题,,数据结构需求。Redis简介功能特点数据库数据存储持久化高速读写集群部署动态扩展数据一致性事务性操作主从备份Sche-mefree数据结构高并发vmredis支持支持目前仅单实例部署,但通过客户端做pre-sharding方案可搭建伪集群支持支持但不支持回滚支持,但是主机迭机后,不能自动选举丛机位为主机Key-value模型,支持支持(单线程的IO复用模型)支持一定量的并发数支持性能测试:*:写入500万条记录,共耗时524秒,平均每秒写入数据9542笔。磁盘上的数据文件大小134M。读测试:成功读出500万条记录,共耗时184秒,平均每秒读出数据27174笔。整体数据结构redisServerredisDB*db...01...nredisDBintiddict*dict...redisDBintiddict*dict...redisDBintiddict*dict...结构体redisServer对应服务器,字段db指向一个指针数组,数组元素值即各个数据库的入口地址。结构体redisDB对应数据库,用以保存数据库id,字典等信息。redisDBredisDBintiddict*dict...dictdictType*typedictht*ht[0]dictht*ht[1]...dicthtdictEntry**tableusignedlongsizeusignedlongused...dictTypeint(*hashFunc)(void*key)...dicthtdictEntry**tableusignedlongsizeusignedlongused...dict即字典,type是字典类型,ditcht是哈希表。函数指针hashFunc记录用以计算hash值的hash函数。DictdictdictType*typedictht*ht[0]dictht*ht[1]...dicthtdictEntry**tableusignedlongsizeusignedlongused...01...size-1dictEntryvoid*keyvoid*val*nextNULLNULL双重指针table指向一个数组,该数组记录各个dictEntry(条目?)的入口地址。size为table的大小,used是dictEntry的个数。每个dictEntry对应一个存储对象,通过key和val指针可找到对应对象的key和value。used就是存储的对象总数。