收藏 分销(赏)

高性能NoSQL数据库Redis讲义教材.pptx

上传人:鼓*** 文档编号:14495143 上传时间:2026-09-28 格式:PPTX 页数:30 大小:409.72KB 下载积分:8 金币
下载 相关
高性能NoSQL数据库Redis讲义教材.pptx_第1页
第1页 / 共30页
高性能NoSQL数据库Redis讲义教材.pptx_第2页
第2页 / 共30页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2010-11-22,#,高性能,NoSQL,数据库,Redis,盛大在线:徐江涛,博客:,NoSQL,大行其道,APP,高并发请求,海量化数据,Disk,内存,图灵奖得主,Jim Gray,:“,内存是新的硬盘,硬盘是新的磁带”,memcached,Redis,分享大纲,Redis,是什么,Redis,的特性,Redis,的,API,及适用场景,Redis,的使用经验,运维参数,Redis,vs Memcached,Memcached,操作实例,键,(keys),值,(values),page:index.html,.,user:101:session,xDrSdEwd4dSlZkEkj+,login_count,“100001”,user:100:last_login_time,“102736485756”,所有的操作都是基于字符串、或者是,2,进制的数据格式、,操作起来大部分是,GET,、,SET,这,2,个命令操作,易于使用,Redis,vs Memcached,和,Memcached,一样、使用简单、性能高效,(1G 1M),异步持久化存储,支持多种数据类型,;,Strings(,字符,),、,Lists(,链表,),、,Sets(,集合,),、,ZSets(,有序集合,),、,Hashes(,哈希,),更多、更方便,API,接口 管理数据,;,More commands,and More.,Is Redis,Redis,vs Memcached,Redis,数据类型实例,键,(keys),值,(values),page:index.html,.,users_logged_in_today,1,2,3,4,5,latest_post_ids,201,204,209,.,users_and_scores,joe 1.3483,bert 93.4,fred 283.22,chris 23774.17,String,Sets,List,ZSets,Redis,的,API,及适用场景,Strings,字符,./redis-cli,SET,mystring “hello world”,C client,key,value,./redis-cli,GET,mystring,hello world,return,GETSET,MGET,SETNX,SETEX,MSET,MSETNX,Redis,的,API,及适用场景,Strings,字符,INCR,INCRBY,DECR,DECRBY,APPEND,SUBSTR,Redis,的,API,及适用场景,Expiration,当把,Redis,当作缓存服务使用时,你可以设置数据的过期时间,不管是数据类型,(string,list,zsets,sets,hash),是什么,,此系列命令都有效,EXPIRE,paitoubing,1234,TTL,paitoubing,=,1234,秒,秒,Redis,的,API,及适用场景,Deleting Keys,DEL,paitoubing,EXISTS,paitoubing,=,0(false),Redis,的,API,及适用场景,Lists,a,b,c,d,e,f,LPUSH,RPUSH,LPOP,RPOP,LPUSH,paitoubing a,Redis,的,API,及适用场景,Lists,a,b,c,d,e,f,LLEN=6,x,LREM 1 b,LRANGE 2 3,LINDEX 5,Redis,的,API,及适用场景,队列服务,Queues,a,b,c,d,e,f,RPUSH,LPOP,RPUSH paitoubing abc,RPUSH paitoubing def,LPOP paitoubing=“abc”,LPOP paitoubing=“def”,LPOP paitoubing=(nil),Redis,的,API,及适用场景,集合,Sets,uid:1:followers,bruce tom zhangsan lisi,wangermazi xiaoyueyue fengjie,uid:2:followers,xiaoyueyue fengjie liyuchun,furongjiejie,SREM,uid:1:followers,wangermazi,x,SMOVE,uid:1:followers uid:2:followers,lisi,SADD,uid:2:followers,tom,Redis,的,API,及适用场景,集合,Sets,uid:1:followers,bruce tom zhangsan lisi,wangermazi xiaoyueyue fengjie,uid:2:followers,xiaoyueyue fengjie liyuchun,furongjiejie,SCARD,uid:1:followers,=7,SISMEMBER,uid:1:followers xinxin,=0(meaning false),SRANDMEMBER,uid:1:followers,=“xiaoyueyue”,SMEMBERS,uid:2:followers,=xiaoyueyue fengjie liyuchun,furongjiejie,Redis,的,API,及适用场景,集合,Sets,(交集、并集、差集),uid:1:followers,bruce tom zhangsan lisi,wangermazi,xiaoyueyue fengjie,uid:2:followers,xiaoyueyue fengjie,liyuchun,furongjiejie,xiaoyueyue fengjie,SINTER,uid:1:followers uid:2:followers,=xiaoyueyue fengjie,SINTERSTORE,SUNION SUNIONSTORE,SDIFF SDIFFSTORE,Redis,的,API,及适用场景,有序集合,ZSets,Like Sets,每个元素,增加了,rank,或是,score,no time!,Redis,的,API,及适用场景,Hashes,(哈希),产品,:Product 1,created_at:,1290149988,product_id:,1,name:,盛大点券,available:,100,HSET,product:1,created_at,1290149988,HSET,product:1,name,“盛大点券”,HSET,product:1,available,100,HGET,product:1,name,=,盛大点券,HLEN,product:1,=3,HKEYS,product:1,=created_at,name,available,HGETALL,product:1,=,created_at=102374657,name=,盛大点券,available=100,HVALS HEXISTS HINCRBY HMGET HMSET,Redis,的,API,及适用场景,Redis Social Network,(社会化网络),UGC,好友:双向关系,粉丝:单向关系,text,photo,more.,blog,、,Message,、,photo,、,Redis,的,API,及适用场景,新增用户,username,userid,INCR,next_user_id,Return s uid,SET,user,:uid:,name,username,SET,username,:username id,Int,整形,变量值,新增日记,content,author,I NCR,next_post_id,Return s pid,SET,post,:pid:,content,content,SET,post,:pid:,author,uid,LPUSH,user,:uid:,posts,pid,LPUSH,posts:global,pid,Redis Social Network,(社会化网络),Unique IDs,SORT,ZCARD,MONITOR,SLAVEOF,RENAME,SELECT,SAVE,SUBSCRIBE,PUBLISH,Redis,的,API,及适用场景,Enough commands!,(版本更新快),Redis,的安装,下载:,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,服务,#/usr/bin/redis-server/etc/redis.conf,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,保存到数据库文件中去,dbfilename dump.rdb,保存数据的路径,slaveof 192.168.1.2 6379,=,在启动时,,REDIS,会自动从,MASTER,上把数据,先同步过来,而无需我们手动进行,MASTER,上每有一次落地保存,会自动向,SLAVE,进行同步。,当然这里的问题是,如果,MASTER,不保存,,SLAVE,也就无法得到这些数据,这和,REDIS,本身的内存写磁盘逻辑是一样,Redis,的安装,requirepass,=,连接密码(注释,),rdbcompression=,存储至本地数据库时是否压缩数据,默认为,yes,masterauth ,=,当本机为从服务时,,设置主服务的连接密码(注释),maxclients=,最大客户端连接数,默认不限制(注释),appendonly,=,是否在每次更新操作后进行日志记录,如果不开启,,可能会在断电时导致一段时间内的数据丢失。,因为,redis,本身同步数据文件是按上面,save,条件来同步的,,所以有的数据会在一段时间内只存在于内存中。默认值为,no,appendfsync,=,更新日志条件,共有,3,个可选值。,no,表示等操作系统进行数据缓存同步到磁盘,,always,表示每次更新操作后手动调用,fsync(),将数据写到磁盘,,everysec,表示每秒同步一次(默认值)。,vm-enabled,是否使用虚拟内存,NO PRODUCT!,Redis,的主从,-,集群,client,client,client,master,master,master,slave,slave,slave,CONSISTENT HASH/,定容,read,write,同步数据,demo,风险!,SESSION,slave,Redis,的开发语言支持,Language Support,Ruby,Python,PHP,Erlang,Tcl,Perl,Lua,Java,Scala,Clojure,C#,C/C+,JavaScript/Node.js,Haskell,IO,Go,6379,在是手机按键上,MERZ,对应的号码,MERZ,取自意大利歌女,Alessia Merz,的名字,63,79,Redis,端口的故事,Why?,Redis,的扩展阅读,1,、,
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服