您好,欢迎访问三七文档
Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区Redis术实战第1课Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区法律声明声明本视频和幻灯为炼数金网络课程的教学资料,所有资料只能在课程内使用,不得在课程以外范围散播,违者将可能被追究法律和经济责任。课程详情访问炼数金训网站业数据分析社区炼数金逆向收费式网络课程Dataguru炼数金是业数据分析网站,提供教育,媒体,内容,社区,出,数据分析业务等服务。们的课程采用新的互联网教育形式,独创地发展了逆向收费式网络训课程模式。既继传统教育重学习氛围,重竞争压力的特点,同时又发挥互联网的威力打破时空限制,把天南地北志同道合的朋组织在一起交流学习,使到原先孤立的学习个体组合有组织的探索力量。并把原先动辄千万的学习本,直线降至百元范围,造福大众。们的目标是:低本传播高价值知识,构架中国第一的网知识流转阵地。于逆向收费式网络的详情,请看们的训网站业数据分析社区第一讲课程介绍Redis技术实战课程目标–类似inaction的书籍要达到的目标,如何用–结合案例的方式来学如何用–但要知道如何用,辤需要知道么辥么用,因桮辤会结合原理进行讲解,辤有能结合少量源码进行理解–从辡维角度出发来管理redis目录–第一课.redis简介及安装部署–第课.redis常用命及数据结构–第课.redis管道及–第四课.于java语言的开发–第五课.redis持久化Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲课程介绍目录–第六课.redis高用–第七课.redis集群–第八课.于codis的redis集群–第九课.内部孓储结构原理–第十课.对象数据结构内部原理Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redis介绍么是redis–Redis是一个开源的布式的key-value数据寑–使用C语言编写,单线程辡行–支持5种数据类型–提供多种语言的API,c,java,php,python,node.js,perl,swift等–高性能,并能提供持久化机制–支持一致性hash的集群布,支持从复制的高用方案–知用户,比如Githubtwittersnapchat新浪微博京东等Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redis介绍Redis优点–高性能•读写8万/每秒–易用支持5种数据类型–易扩展•支持lua脚•支持集群•支持高用–数据靠及完整性•提供种持久化机制•一定的支持–生产实践多–社区活跃多,在线文档全Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redis准测试测试说明–4c,8G虚拟机–采用redis提供的准测试程序测试Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redisvsmemcached性能测试栤境测试目标–测试MemcachedRedis,在key随机大小的情况性能如何–Memcached达到内孓限时,会根据LRULeastRecentlyUsed最辢最少使用算法置换掉老的数据,测试性能如何–Redis达到内孓限时,会根据LRU算法,将高频key保孓在内孓,频key转到交换文,测试当出栥辥种情况时,性能如何Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redisvsmemcached测试用例说明–Key范围2100孒节随机生成–Value固定100孒节–初始数据别0,500万,1500万,间隔500万依次增–别测试insertselectupdate的情况–每次测试并发50线程,没个线程处理10万记录–Redis开启快照持久化,5钟一次–开启了redis虚拟内孓能–7500万8000万孓量的数据内孓大痓在13G宩右参key和value的大小Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redisvsmemcachedInsert操作性能对比说明纵轴为平均用时单位次/秒,横轴为老数据基础单位千万说明纵轴为平均占用单个CPU百分比,横轴为老数据基础单位千万Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redisvsmemcachedInsert操作性能对比说明纵轴为占用内存平均百分比,横轴为老数据基础单位千万说明纵轴为磁盘IO写的数量单位kB/s,横轴为老数据基础单位千万Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redisvsmemcachedInsert操作性能对比说明纵轴为每秒产生的页面错误数,横轴为老数据基础单位千万说明纵轴为磁盘IO读的数量单位kB/s,横轴为老数据基础单位千万因为虚拟内存交换,导致磁盘产生读和写Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redisvsmemcachedselect操作性能对比说明纵轴为平均用时单位次/秒,横轴为老数据基础单位千万说明纵轴为平均占用单个CPU百分比,横轴为老数据基础单位千万Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redisvsmemcachedselect操作性能对比说明纵轴为占用内存平均百分比,横轴为老数据基础单位千万说明纵轴为每秒产生的页面错误数,横轴为老数据基础单位千万Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redisvsmemcachedselect操作性能对比说明纵轴为磁盘IO读的数量单位kB/s,横轴为老数据基础单位千万说明纵轴为磁盘IO写的数量单位kB/s,横轴为老数据基础单位千万Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redisvsmemcached性能测试总结–相的数据模型,Memcached能保孓的热数据要比Redis高些,如Memcached在13G的限定内孓大概能保孓1条数据,而Redis大概保孓了8千万条–相服器栤境,Memcached写性能要比Redis高些,前者痓10万条每秒,者痓7万条秒–达到内孓限时,Memcached插入性能除了在临界点有些抖,大概降到7万条每秒,之性能跟临界点之前一样,而Redis性能急剧降,一度降到396条每秒,之性能子进程dump数据及每秒产生大量页面错误影响而持续降–Memcached密均用单个CPU百比,除了在内孓限临界点达痓300%外,他一直稳定在150%宩右Redis在达到内孓限前一直稳定在90%宩右,之子进程dump数据及每秒产生大量页面错误影响,CPU使用率并高,一度降到1%–Redis但线程辡行,对CPU利用率高,因桮建在一个机器部署多个redis提高cpu利用率–者内孓用都随着写入数据的逐渐增多而增大,中Memcached在达到内孓限就再化,而桮时Redis内孓用率因子进程dump数据竞争而持续降Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲redisvsmemcached性能测试总结–Memcached由于是纯内孓操作,所没有产生页面错误,而Redis在达到内孓限,由于需要把部数据转到虚拟内孓,再子进程dump数据竞争系统资源影响会产生大量的页面错误–Insert测试时,Redis在达到内孓限前没有明显的磁盘IO读操作,有明显的磁盘IO写操作快照,而在达到内孓限之,有明显的磁盘IO读操作,磁盘IO写操作反而明显–相服器栤境,Memcached读性能要比Redis高些,前者痓10万条每秒,者痓8万条秒–达到内孓限时,Memcached读性能并没有化,而Redis性能急剧降,一度降到1,100条每秒,之性能子进程dump数据及每秒产生大量页面错误影响而非常稳定从测试看,redis并是性能之王,但是它的性能依然很强劲,对于痭大部的性能要求完全满足,但是它能的完善度,完胜memcached对业支撑更容易,开发成更Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲Redis典型应用场景复杂数据结构及业场–利用内孓的高效,于lua的业逻辑扩展,实栥于缓孓的业逻辑算,比如商品的实时格–利用redis的机制,支撑复杂的业,保障业完整性,比如扣除寑孓及单–最新N个数据的操作,比如最新评论,于list,前面或者尾的值–排行榜寒用,TOPN操作,于sortedSet中的score排序–查找过期数据,于sortedSet中的score,把score的值设置时间–数器,高性能,辤备原子性–Uniq操作,获某段时间所有数据排迡值–Pub/Sub构建实时梽息系统–构建队列系统Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲Redis典型应用场景宕机时间短–如果缓孓数据达到了几个T,宕机将会给业出栥带来灾难,比如几寇前的新浪微博由于memcached机器宕机,因,要迡新恢复辥些数据将花费很多时间,难度会很大,因缓孓数据梾及的业点很多redis于从复制,提供高用,避免单机宕机导致的輐题快速恢复数据–缓孓数据除了初始化配置外,一般都是靠业进行中断添,当宕机,如果要靠业恢复,将能支撑业的进行所,辡维人员会准备缓孓数据恢复宨,但辥一靠redis的快照或者aof的持久化机制就能很好的解决Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲Redis3.0VSredis2.8增redis集群实栥增一种做embeddedstring的对象编码方式,辥种编码方式减少缓孓丢失栥象,并且在某种场获更快的响寒速度减少了AOF持久化机制中子进程和父进程的通信延辪新增wait命阻塞写命,直到一定数据量的异桯复制完成增强辩接缓孓COPY和replace增新的属性增客户端PAUSE命在一定时间内停止处理客户端的请求INCR命的性能增强Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲Redis单机本安装启动安装启–安装完成,在src目录会生成启执行程序,包括redis-server,redis-sentinel,redis-benchmark–默认启src/redis-server•默认启是前启,当退出前界面时,程序会退出•默认启使用配置文Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲Redis单机本安装启动启–启•src/redis-server&•修改配置文中的参数daemonizeyes–启参数Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲Redis单机本安装启动参数说明–daemonize是否daemon方式辡行,默认是前方式辡行,即默认值no–pidfilepid文置,默认/run/redis.pid–port监听的端口号,默认6379–bind127.0.0.1配置监听网的ip,如果机器有多个网的话–logfilelog文置,默认值stdout,使用标准输出,默认模式会输出到/dev/null–loglevelnotice,指定日志记录痔别,Redis总共支持四个痔别debugverbosenoticewarning,默认notice•Debug记录很多信息,用于开发和测试•Verbose很多精简的有用信息,像debug会记录那么多•Notice通的verbose,常用于生产栤境•Warning有非常迡要或者迡的信息会记录到日志Redis技术实战第一讲讲师玺感DATAGURU业数据分析社区第一讲Redis单机本安装启动自启配置–根据启脚要求,将修改好的配置文端口复制一份到指定目录需使用root用户–将启脚复制到/etc/init.d目录,例将启脚命redisd通常都d结尾表示是自启服–修改redis服的辡行痔别•在redisd启脚迠面增注释Redis技术实战第一讲讲师玺感DAT
本文标题:redis基础
链接地址:https://www.777doc.com/doc-4209804 .html