NoSQL与NewSQL数据库引航02

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区NoSQL与NewSQL数据库引航第2课NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区Memcached项目临时性键值存储NoSQL数据库,简单而有力过去被大量使用在互联网网站中,作为应用和数据库之间的缓存层DangaInteractive公司开发,最初为了加速LiveJournal访问速度而开发,后来成为广泛应用的开源项目官网:与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区速度即体验等待让人焦虑,严重影像体验Google:响应延迟0.5秒,查询数减少20%亚马逊:响应延迟0.1秒,营业额下降1%ITPUBNoSQL为速度而生3NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区Memcached的特点全内存运转哈希方式存储简单文本协议进行数据通信只操作字符型数据其它类型数据由应用解释,序列化以及反序列化集群也由应用进行控制,采用一致性散列(哈希)算法4NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区一致性哈希5NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区增删节点6NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区安装memcachedCentOS下的安装7NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区安装memcached8NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区启动memcached9NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区启动memcached10NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区监听端口11缺省为11211NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区telnet测试12NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区数据保存时的参数setkeyflagexpiresbyteFlag用于指定是否压缩数据,0不压缩,1压缩Expires指定数据保存的时间,一种方法是秒数(不能超过30天),另一种可以使用unix时间戳指定,0为有效期无限Byte保存值的字节数13NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区其它操作14NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区其它操作15NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区安装ruby16NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区安装rubygems17NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区安装程序库memcache-client18NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区运行一小段ruby程序测试$KCODE='u'requirerubygemsrequirememcacheserver=['localhost:11211']option={}cache=MemCache.new(server,option)cache['key1']=123cache['key2']=ABCDEcache['key3']=%w(hogefuga)cache['key4']={:foo=1,:bar=a}pcache['key1']pcache['key2']pcache['key3']pcache['key4']19NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区用telnet看个究竟20NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区在ruby程序中设置过期时间requirerubygemsrequirememcachecache=MemCache.new(['localhost:11211'])cache.set('key','value',10)pcache['key']sleep11pcache['key']21NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区启动多个节点memcachedmemcached-d-p11212-unobody-c1024-m64memcached-d-p11213-unobody-c1024-m6422NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区用Ruby测试多个memcached节点$KCODE='u'requirerubygemsrequirememcacherequireloggerserver=['localhost:11211','localhost:11212','localhost:11213']option={:logger=Logger.new(STDOUT)}cache=MemCache.new(server,option)cache['key1']=123cache['key2']=ABCDEcache['key3']=%w(hogefuga)cache['key4']={:foo=1,:bar=a}pcache['key1']pcache['key2']pcache['key3']pcache['key4']23NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区运行结果24NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区模拟失去一个节点requirerubygemsrequirememcacherequireloggerserver=['localhost:11212','localhost:11213']option={:logger=Logger.new(STDOUT)}cache=MemCache.new(server,option)cache['key1']=123cache['key2']=ABCDEcache['key3']=%w(hogefuga)cache['key4']={:foo=1,:bar=a}pcache['key1']pcache['key2']pcache['key3']pcache['key4']25NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区结果26NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区传递参数列表27NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区Memcached在各种语言下的库28NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区充当数据库缓存应用访问数据库前,首先看看在memcache中有没有key为该SQL语句如果有,取其value当作查询结果,这样可以减少对数据库的访问压力如果没有,则访问数据库,同时把取回的结果(value)和相应的SQL语句(key)放进memcached29NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区高可用方案repcachedwget=s/memcached/repcached/makemakeinstall30NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区启动repcached/usr/local/bin/repcached-p11211–v/usr/local/bin/repcached-p11212-xlocalhost-v–d不要用root身份运行31NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区复制实验32NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区反方向复制实验33NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区监控memcached34NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区应用Dataguru的配置文件与后台35NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区作为关系数据库缓存的实验代码佐佐木达也书P10436NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区memcached.org37NoSQL与NewSQL数据库引航讲师黄志洪DATAGURU专业数据分析社区低成本获取高端知识技术成就梦想炼数成金edu.dataguru.cnDATAGURU专业数据分析网站FAQ时间

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功