1 / 47
文档名称:

火龙果软件redis.ppt

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

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

分享

预览

火龙果软件redis.ppt

上传人:分享精品 2016/2/28 文件大小:0 KB

下载得到文件列表

火龙果软件redis.ppt

文档介绍

文档介绍:redis目录?背景?Redis简介–Redis是什么–功能与特点?内部实现(单机)–整体数据框架–基本数据结构–优化机制?索引优化?内存优化–持久化?主从备份?集群?Key-value数据库设计?与其他数据库对比?Redis不足?应用场景?国际上最大的redis用户是谁?在众多的NOSQL数据库与传统的关系数据库中为什么会出现redis??传统的key-value数据库(文档,string类型)有什么不足?----数据结构需求?传统的关系型数据库IO操作性能问题?----性能需求?传统的内存数据库有什么不足?---可靠性需求背景背景?传统MySQL+ Memcached架构遇到的问题?,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主持。?应用场景: cache+(mc穿透,跨机房问题,数据一致性 ,数据结构需求。Redis简介功能特点数据库数据存储持久化高速读写集群部署动态扩展数据一致性事务性操作主从备份Sche-me free数据结构高并发vmredis支持支持目前仅单实例部署,但通过客户端做pre-sharding方案可搭建伪集群支持支持但不支持回滚支持,但是主机迭机后,不能自动选举丛机位为主机Key-value模型,支持支持(单线程的IO复用模型)支持一定量的并发数支持?性能测试:CPU为Xeon *4内存为4G硬盘为一块400G SATA盘操作系统为64位CentOS :写入500万条记录,共耗时524秒,平均每秒写入数据9542笔。磁盘上的数据文件大小134M。读测试:成功读出500万条记录,共耗时184秒,平均每秒读出数据27174笔。整体数据结构redisServerredisDB *db...01...nredisDBint iddict *dict...redisDBint iddict *dict...redisDBint iddict *dict...?结构体redisServer对应服务器,字段db指向一个指针数组,数组元素值即各个数据库的入口地址。?结构体redisDB对应数据库,用以保存数据库id,字典等信息。redisDBredisDBint iddict *dict...dictdictType *typedictht *ht[0]dictht *ht[1]...dicthtdictEntry **tableusigned long sizeusigned long used...dictTypeint (*hashFunc)(void *key)...dicthtdictEntry **tableusigned long sizeusigned long used...?dict即字典,type是字典类型,ditcht是哈希表。?函数指针hashFunc记录用以计算hash值的hash函数。DictdictdictType *typedictht *ht[0]dictht *ht[1]...dicthtdictEntry **tableusigned long sizeusigned long used...01...size-1dictEntryvoid *keyvoid *val*nextNULLNULL?双重指针table指向一个数组,该数组记录各个dictEntry(条目?)的入口地址。size为table的大小,used是dictEntry的个数。?每个dictEntry对应一个存储对象,通过key和val指针可找到对应对象的key和value。used就是存储的对象总数。