欢迎来到天天文库
浏览记录
ID:20876459
大小:971.10 KB
页数:48页
时间:2018-10-17
《redis基础知识及集群搭建》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Redis基础知识及集群搭建张西强2015年2月目录Redis基础知识Redis集群搭建12Redis简介——Redis,典型的NoSQL数据库服务器,采用KEY-VALUE存储结构,可以作为服务程序独立运行于自己的服务器主机,同时作为内存数据库,不用IO读取硬盘数据,能够快速响应请求。Redis是什么?Redis有什么特点?——支持持久化、支持多种数据结构、支持主从复制、免费与关系型数据库比较——redis由于其存储结构相对简单,因此并不能对复杂的逻辑关系提供很好的支持,然而在适用于Redis的场景中,我们却可以由此而获得效率上的显著提升。Redis的数据结构作为NO
2、SQL数据库之一的redis,除了支持基本key-value方式,还支持结构化存储,以适应各类应用场景:String:字符串类型List:链表类型Hashes:哈希类型Set:集合类型Sorted-Sets有序集合类型字符串类型:StringString是最常用的一种数据类型,普通的key/value存储都可以归为此类。当然,也可以存储图片,视频等序列化对象,Value最多可以容纳的数据长度是512M。1.赋值:SETKEYVALUEMSETKEY1VALUE1[KEY][VALUE2]SETBITKEYOFFSET1/02.取值:GETKEYMGETKEY1[KEY]
3、GETBITKEYOFFSET3.字符串操作:STRLENKEYSETRANGEKEYOFFSETVALUESGETRANGEKEYSTARTEND4.数字操作:INCRKEYDECRKEYINCRBYKEYdecrement/DECRBYKEYdecrement5.其他:SETEXKEYSECONDSKEYVALUEStringLENBUF[]FREE链表类型:ListList类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。1.
4、赋值:LPUSH/RPUSHKEYV1V2…VNLPUSHX/RPUSHXKEYVALUE2.取值:LPOP/RPOPKEYLRANGEKEYSTARTENDGETBITKEYOFFSET3.INDEX操作:LSETkeyindexvalueLINDEXKEYindex4.取长度:LLENKEY5.截取:LTRIMkeystartstop场景:LIST可以作为消息队列,LPUSH链表头作为生产者插入消息,RPOP作为消费者取得消息。哈希类型:Hashes我们可以将Redis中的Hashes类型看成具有StringKey和StringValue的map容器。所以该类型非常
5、适合于存储值对象的信息。1.赋值:HSETKEYFILEDVALUEHMSETKEYFILEDVALUE[FILED1][VALUE]2.取值:HGETKEYHMGETKEY[KEY]HKEYSKEYHVALSKEYHGETALLKEY3.删除:HDELFILED[FILED]4.取长度:HLEN5.存在判定:HEXISTSkeyfiled场景:AIOP中用户标签信息使用HASHMAP存储,存储结构为user:phonetag1val1tag2val2,AIOP传递客户手机号,即可通过HGETuser:phonetag1tag2取出标签值。集合类型:Sets在Redis
6、中,我们可以将Set类型看作为没有排序的字符集合,就像什锦果冻,只是聚集在一起,没有顺序,这和List类型不一样,另外要注意Set集合中不允许出现重复的元素,而且Set支持多个Sets之间的差、并、交集操作。1.新增:SADDKEYM1M2…2.查询:SMEMEBERSKEYSPOPKEYSRANDMEMBERKEY3.删除:SREMKEYM1M2…MN4.取长:SCARDKEY5.存在判定:SISMEMBERKEYMEMBER6.聚合运算:SDIFFKEY1KEY2…SINTERKEY1KEY2…SUINONKEY1KEY2…场景:COC中将符合标签的用户进行聚类,存
7、放到Set中,比如set1存放学生标签用户、set2存放低消费用户、set3存放非合约用户,那么取出可能购买小米的低消非合约学生用户群:1.SINTERSTOREasetset1set22.SDIFFasetset3有序集合中也不允许有重复数据,它比Set多了一个score,Redis正是通过score来为集合中的成员进行从小到大的排序。需要注意的是,尽管Sorted-Sets中的成员必须是唯一的,但是分数(score)却是可以重复的。1.查询:ZADDKEYSCORENMBR1…SCORENMBRN2.删除:ZREMKEYMBR1MBR
此文档下载收益归作者所有