redis高速可扩展内存数据库_第1页
redis高速可扩展内存数据库_第2页
redis高速可扩展内存数据库_第3页
redis高速可扩展内存数据库_第4页
redis高速可扩展内存数据库_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、redis-高速可扩展内存数据库redis是什么支持的数据类型内存优化事物支持数据持久化主从扩展客户端实践Redis是什么?Key-value存储系统提供了丰富的数据结构并提供最这个数据结构的操作支持redis可以替代memcache,并解决断电导致的数据完全丢失问题单线程处理事件模型 Redis-结构图Redis-执行流程图Redis-事件处理图Redis支持的数据类型stringListSetZsethashesRedis支持的数据类型Redis数据类型-string最基础的数据类型提供的常见操作方法有(set,get,del,desr,incr)内部实现方式:内部存储就是一个字符串,被r

2、edisobject引用Redis数据类型-listList类型是按照插入顺序排序的字符串链表。常用操作函数(lpush,lpop,rpush,rpop,llen,lindex,lrange)典型应用场景:微博粉丝列表内部实现:是一个双向链表,可以高效地在头尾插入或弹出,中间的操作是低效的Redis数据类型-set没有排序的无重复的字符串集合。支持聚合计算unions、intersections和differences常用的操作(sadd,scard,srem,sdiff,sunion,sinter)典型应用场景:商品组合推荐一个value为null的hashmapRedis数据类型-zset

3、每个字符串带有分数记录的有序字符串集合。常用的操作(zadd,zcard,zrem,zrank,zrange,zrangebyscore)典型应用场景:在线积分排行榜内部实现hashmap+skiplist保证存储和有序Redis数据类型-hashesString key,value为map的容器。常用的操作(hset,hget,hlen,hdel,hgetall,hdel)典型应用场景:学生成绩单内部实现:当hash的成员比较少的时候才用类似一维数组的紧凑方式存储,反之,则用hashmap结构去存储内存优化hash-max-zipmap-extrieshahs-max-zipmap-valu

4、e空间与时间的协调?事物支持MULTIEXECDISCARDWATCH 如果有某一条命令执行失败,其后的命令仍然会被继续执行数据持久化SnapshotAof数据持久化-snapshot将所有数据遍历放入rdb文件中Save(同步)/bgsave(异步)文件配置save 300 1,多条可配Dump速度快(600w-2G-683s)Load速度快(600w-2G-33s)数据持久化-aof以append模式记录所有修改的操作文件配置 appendonly yesSync方式:always/everysec/noBgrewriteDump慢(600w-2.5-695s)Load慢(600w-2.5

5、g-37s)数据恢复aof-rdb并存,启用aof恢复只有rdb只有aof主从备份 mater slave1 slave2slave3 slave4 slave5 slave6 主从备份-配置Slaveof 10.10.196.166 6379Slaveof no oneMaster非阻塞式提供同步 主从备份-原理Slave:SyncMaster:Dump、appendSlave:load、write客户端c/c+/php/perl/python/objective-c等Java客户端jedis分布式暂无server端自动的sharding客户端一致性做hash sharding3.0版本五发

6、布,目前版本是2.4.4test&practiceString 600w key 每个value为0.4kHash 1 key,600万个数据对String 1000w key 每个value为0.4kHash 1 key 1000万个数据对以上测试均是在没有开启bgsave的情况下进行test&practiceCentOS release 6.2 4G memory 6G swap4核Intel(R) Xeon(R) CPU E5506 2.13GHztest&practice600w key472s完成全部写,写入速度12711c/s内存消耗3095M,数据全部在内存对于600万的key,

7、以key轮询总共耗时434s,查询速度13824c/stest&practice1 key 600w键值对525s完成全部写,写入速度11428 c/s内存消耗3127M,数据全部在内存对于600万的field,以key和filed轮询总共耗时477s,查询速度12578c/stest&practice1000w key1007s完成全部写,写入速度9930 c/s内存消耗5155M,数据3.2g在内存,1.7g在交换分区对于1000万的field,以key和filed轮询总共耗时1970s,查询速度5076c/s在内存使用到3.8g时开始使用swaptest&practice1 key 10

8、00w键值对1072s完成全部写,写入速度9328 c/s共消耗5155M,数据3.1g在内存,1.6g在交换分区对于1000万的field,以key和filed轮询总共耗时1726s,查询速度5793c/s在内存使用到3.8g时开始使用swaptest&practice以上测试如果在开启bgsave的情况下,写入会导致耗时增长将近一倍备份机与写入机分离test&practice如需bgsave,则需要注意memory+swap的消耗在1000w的测试中,所有都bgsave不了Bgsave,fork(),内存不够Save可以dump出,不过是阻塞的test&practice-实现关系 Select a.song_id,a.title,a.cover,a.area,a.singer_id,a.singer,a.style,a.vv as play_times,a.licensor,a.language from daquan_mv_info a where a.is_removed = 0 order by a.vv desc limit 20000, 30耗时:1s从缓存mysql缓存test&practice-实现关系建立以daquan_mv_info为key的一个li

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论