程序员redis面试之数据结构

上传人:沧海****19 文档编号:194476768 上传时间:2021-08-27 格式:DOCX 页数:4 大小:17.46KB
返回 下载 相关 举报
程序员redis面试之数据结构_第1页
第1页 / 共4页
程序员redis面试之数据结构_第2页
第2页 / 共4页
程序员redis面试之数据结构_第3页
第3页 / 共4页
程序员redis面试之数据结构_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《程序员redis面试之数据结构》由会员分享,可在线阅读,更多相关《程序员redis面试之数据结构(4页珍藏版)》请在金锄头文库上搜索。

1、redis面试之数据结构redis是面试中最常问的中间件,关于数据结构主要集中在列举和用法。下面我们就数据结构和主要的使用方式做一个描述。redis五种数据结构大家都知道redis的几种数据结构,包括string (字符串),hash(哈希),list(列表),set(集合),zset(有序集合)。下面我们来列举一下关于这几种结构的常用命令和一些使用场景。1、string结构string是redis的最基本的数据类型。string类型是二进制安全的,也就是说string里可以包含任何的数据类型。string类型的值最大能存储512MB常用命令SETkeyvalue设置指定key的值MSETke

2、yvaluekeyvalue.批量设置keyvalueSETNXkeyvalue当key不存在时才存入valueGETkey获取key的值MGETkeykey.批量获取key的值DELkeykey删除keyEXPIREkeyseconds设置key的过期时间INCRkey将key中存储的数字值加一DECRkey将key中存储的数字值减一INCRBYkeyincrement将key存储的值加上指定的增量incrementDECRBYkeyincrement将key存储的值减去指定的增量increment应用场景1、 普通的单值缓存2、对象数据缓存(json格式)3、分布式锁的应用4、计数器的使用

3、,使用INCR和DECR2、hash结构redis hash 是一个string类型的field(字段)和value(值)的映射表,很适合存储对象。常用命令HSETkeyfieldvalue将字段field的值设置为valueHSETNXkeyfieldvalue当field字段不存在时设置值valueHMSETkeyfiledvaluefieldvalue.批量设置字段field的值为valueHGETkeyfield获取指定field的值HMGETkeyfieldfield.批量获取field的值HDELkeyfieldfield.删除fieldHLENkey获取字段的数量HGETALLk

4、ey获取指定key的所有field(字段)和value(值)HINCRBYkeyfieldincrementfield字段加上增量increment应用场景1、 hash最适合的就是做对象缓存3、list结构list是redis的字符串列表,可以选择将值插入到头部或尾部。常用命令LPUSHkeyvaluevalue.将一个或多个值插入列表头部RPUSHkeyvaluevalue.将一个或多个值插入列表尾部LPOPkey移除并返回key列表的头元素RPOPkey移除并返回key列表的尾元素LRANGEkeystartstop获取start和stop范围内的元素BLPOPkeykey.timeou

5、t移除并返回key列表的头元素,没有会阻塞或等待到超时BRPOPkeykey.timeout移除并返回key列表的尾元素,没有会阻塞或等待到超时应用场景1、 可以利用list的头部尾部增删属性实现栈和队列2、 可以用来实现时间轴模型,根据时间依次插入数据,使用LPUSH插入和LRANGE获取最近范围的数据4、set结构set是redis的无序集合,是通过哈希表实现的,因此任何操作(添加、删除和测试成员的存在性等)的时间复杂度是O(1)。(无论集合中包含多少元素,时间都是常量)常用命令SADDkeymembermember.向集合添加一个或多个元素SREMkeymembermember.移除元素

6、SMEMBERSkey获取key的所有元素SCARDkey获取key的个数SISMEMBERkeymember判断member是否在key的集合内SRANDMEMBERkeycount从集合中选出count个元素,不删除元素SPOPkeycount从集合中选出count个元素,并删除元素SINTERkeykey.交集运算SINTERSTOREdestinationkeykey.计算交集将结果存入新集合destinationSUNIONkeykey.并集运算SUNIONSTOREdestinationkeykey.计算并集将结果存入新集合destinationSDIFFkeykey.差集运算SD

7、IFFSTOREdestinationkeykey.计算差集将结果存入新集合destination应用场景1、 可以根据set集合的不可重复的特性,统计一些像网站访问IP啊,访问用户啊这些信息,无论访问多少次,SADD加入的都只有一条。2、 也可以使用SRANDMEMBER和SPOP获取数据的随机性 ,做一些抽奖的小程序等随机功能3、 作为集合,可以利用交并运算等计算一些复杂的逻辑关系,比如说人物关系之间的网络关系。5、ZSet 有序集合结构ZSet和set类似,都是字符串的非重复集合。不同之处在于,ZSet的每个成员都与分数相关,分数是用来进行排序的。然后可以使用分数来取一个范围内的树常用命

8、令ZADDkeyscorememberscoremember.添加一个或多个元素ZREMkeymembermember.删除元素ZSCOREkeymember返回member的分数值ZINCRBYkeyincrementmember增加increment增量ZCARDkey获取成员数ZRANGEkeystartstopWITHSCORES通过指定区间内的成员ZREVRANGEkeystartstopWITHSCORES倒序通过指定区间内的成员ZUNIONSTOREdestkeynumkeyskeykey.计算并集ZINTERSTOREdestkeynumkeyskeykey.计算交集应用场景:1、 ZSet是有序的集合,可以使用它来做一个排行榜。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 数据库

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号