高性能NoSQL数据库R

上传人:xt****7 文档编号:182885107 上传时间:2023-01-28 格式:PPTX 页数:30 大小:263.30KB
返回 下载 相关 举报
高性能NoSQL数据库R_第1页
第1页 / 共30页
高性能NoSQL数据库R_第2页
第2页 / 共30页
高性能NoSQL数据库R_第3页
第3页 / 共30页
点击查看更多>>
资源描述
高性能NoSQL数据库Redis盛大在线:徐江涛博客:NoSQL 大行其道APP高并发请求海量化数据Disk内存图灵奖得主Jim Gray:“内存是新的硬盘,硬盘是新的磁带”memcachedRedis分享大纲Redis是什么Redis的特性Redis的API及适用场景Redis的使用经验,运维参数Redis是什么sponsored by:What is Redis is.an“advanced key-value store”b yS A LVATO R E S A N F I L I P P O(a n t i r e z)Redis vs MemcachedMemcached 操作实例键(keys)值(values).user:101:sessionxDrSdEwd4dSlZkEkj+login_count“100001”user:100:last_login_time所有的操作都是基于字符串、或者是2进制的数据格式、操作起来大部分是GET、SET这2个命令操作,易于使用Redis vs Memcached 和Memcached 一样、使用简单、性能高效(1G 1M)异步持久化存储支持多种数据类型;Strings(字符)、Lists(链表)、Sets(集合)、ZSets(有序集合)、Hashes(哈希)更多、更方便API接口 管理数据;More commandsand More.Is RedisRedis vs MemcachedRedis 数据类型实例键(keys)值(values).users_logged_in_today 1,2,3,4,5 latest_post_ids201,204,209,.users_and_scoresStringSetsListZSetsRedis的API及适用场景Strings 字符./redis-cli SET mystring “hello world”C clientkeyvalue./redis-cli GET mystring hello worldreturnGETSETMGETSETNXSETEXMSETMSETNXRedis的API及适用场景Strings 字符INCRINCRBYDECRDECRBYAPPENDSUBSTRRedis的API及适用场景Expiration当把Redis当作缓存服务使用时,你可以设置数据的过期时间,不管是数据类型(string,list,zsets,sets,hash)是什么,此系列命令都有效EXPIRE paitoubing 1234TTL paitoubing =1234秒秒Redis的API及适用场景Deleting KeysDEL paitoubingEXISTS paitoubing =0(false)Redis的API及适用场景ListsabcdefLPUSHRPUSHLPOPRPOPLPUSH paitoubing aRedis的API及适用场景ListsabcdefLLEN=6xLREM 1 bLRANGE 2 3LINDEX 5Redis的API及适用场景队列服务QueuesabcdefRPUSHLPOPRPUSH paitoubing abcRPUSH paitoubing defLPOP paitoubing=“abc”LPOP paitoubing=“def”LPOP paitoubing=(nil)Redis的API及适用场景集合Setsuid:1:followersbruce tom zhangsan lisi wangermazi xiaoyueyue fengjieuid:2:followersxiaoyueyue fengjie liyuchun furongjiejieSREM uid:1:followers wangermazixSMOVE uid:1:followers uid:2:followers lisiSADD uid:2:followers tomRedis的API及适用场景集合Setsuid:1:followersbruce tom zhangsan lisi wangermazi xiaoyueyue fengjieuid:2:followersxiaoyueyue fengjie liyuchun furongjiejieSCARD uid:1:followers=7SISMEMBER uid:1:followers xinxin=0(meaning false)SRANDMEMBER uid:1:followers=“xiaoyueyue”SMEMBERS uid:2:followers=xiaoyueyue fengjie liyuchun furongjiejieRedis的API及适用场景集合Sets(交集、并集、差集)uid:1:followersbruce tom zhangsan lisi wangermazi xiaoyueyue fengjieuid:2:followersxiaoyueyue fengjie liyuchun furongjiejiexiaoyueyue fengjieSINTER uid:1:followers uid:2:followers=xiaoyueyue fengjieSINTERSTORESUNION SUNIONSTORESDIFF SDIFFSTORERedis的API及适用场景有序集合ZSetsLike Sets 每个元素,增加了rank,或是scoreno time!Redis的API及适用场景Hashes(哈希)产品:Product 1created_at:1290149988product_id:1name:盛大点券available:100HSET product:1 created_at 1290149988HSET product:1 name“盛大点券”HSET product:1 available 100HGET product:1 name=盛大点券HLEN product:1=3HKEYS product:1=created_at,name,availableHGETALL product:1 =created_at=102374657 name=盛大点券 available=100HVALS HEXISTS HINCRBY HMGET HMSETRedis的API及适用场景Redis Social Network(社会化网络)UGC好友:双向关系粉丝:单向关系textphotomore.blog、Message、photo、Redis的API及适用场景新增用户usernameuseridINCR next_user_idReturn s uidSET user:uid:name usernameSET username:username idInt 整形变量值新增日记contentauthorI NCR next_post_idReturn s pidSET post:pid:content contentSET post:pid:author uidLPUSH user:uid:posts pidLPUSH posts:global pidRedis Social Network(社会化网络)Unique IDsSORTZCARDMONITORSLAVEOFRENAMESELECTSAVESUBSCRIBEPUBLISHRedis的API及适用场景Enough commands!(版本更新快)Redis的安装下载:Redis的安装的安装tar zxvf redis-version.tar.gzcd redis-versionmake由于没有make install,所以得把源代码目录里的关键文件手动复制到适当的位置:cp redis.conf/etc/cp redis-benchmark redis-cli redis-server/usr/bin/修改/etc/redis.conf daemonize yes 启动redis服务Redis的安装Redis.conf(配置文件)daemonize yes=以守护进程的方式运行maxmemory =Redis在启动时会把所有数据加载到内存中,设置使用内存限制,新的vm机制,key存放内存,value会存放在swap区,不建议 可通过consistent hashing把数据分布到多个服务器上 save 900 1save 300 10save 60 10000=900秒内有1个改变,300秒内有10个改变,60秒内有10000个改变,redis就会内存中的key保存到数据库文件中去 保存数据的路径slaveof 192.168.1.2 6379 =在启动时,REDIS会自动从MASTER上把数据 先同步过来,而无需我们手动进行 MASTER上每有一次落地保存,会自动向SLAVE进行同步。当然这里的问题是,如果MASTER不保存,SLAVE也就无法得到这些数据,这和REDIS本身的内存写磁盘逻辑是一样 Redis的安装requirepass =连接密码(注释)rdbcompression =存储至本地数据库时是否压缩数据,默认为yesmasterauth =当本机为从服务时,设置主服务的连接密码(注释)maxclients =最大客户端连接数,默认不限制(注释)appendonly =是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认值为noappendfsync =更新日志条件,共有3个可选值。no表示等操作系统进行数据缓存同步到磁盘,always表示每次更新操作后手动调用fsync()将数据写到磁盘,everysec表示每秒同步一次(默认值)。vm-enabled 是否使用虚拟内存NO PRODUCT!Redis的主从-集群clientclientclientmastermastermasterslaveslaveslaveCONSISTENT HASH/定容 readwrite同步数据Sample demo,风险!SESSIONslaveRedis的开发语言支持Language SupportRuby,Python,PHP,Erlang,Tcl,Perl,Lua,Java,Scala,Clojure,C#,C/C+,JavaScript/Node.js,Haskell,IO,Go6379在是手机按键上MERZ对应的号码MERZ取自意大利歌女Alessia Merz的名字6379Redis端口的故事Why?Redis的扩展阅读1、我怎么获得更多,更全的Redis信息?2、3、4、http:/END&QA
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!