百人牛牛棋牌

您好,迎接脱离[百人牛牛棋牌-牛牛娱乐棋牌赢现金]浏览室  笑话大全  编程问答  问答大全  移夷易近之家  文娱之家  范文之家  源码下载  电子书籍  软件下载  专题
ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
以后职位:百人牛牛棋牌 >> 网页制造 >> Javascript教程 >> Redis只往zset有序荟萃添加不存在的数据:要害字索引查询构建+源码剖析

Redis只往zset有序荟萃添加不存在的数据:要害字索引查询构建+源码剖析(1/2)

泉源:群集整理     时间:2018-10-31     要害词:

本篇文章主要简介了" Redis只往zset有序荟萃添加不存在的数据:要害字索引查询构建+源码剖析",主要触及到方面的内容,关于Javascript教程感兴趣的同砚可以参考一下: Redis的有序荟萃Sorted Set(zset),可以很便利地用来构建要害字索引表,可以很便利地完成支持超大规模并发的要害字组合条件查询。好比有套博客系统,...

Redis的有序荟萃Sorted Set(zset),可以很便利地用来构建要害字索引表,可以很便利地完成支持超大规模并发的要害字组合条件查询。

好比有套博客系统,博客文章存放在 hash 类型 article:* 中,其中的每个要害字对应的文章存放在 keyword:* 中,则可以用要害字毗连查询 ZINTERSTORE 找到文章ID列表:

添加文章

百人牛牛棋牌便利起见,以node-redis添加hash为例:

client.hmset('article:001', { title: 'test1', content: '....', keywords: 'redis,手艺' })
client.hmset('article:002', { title: 'test2', content: '..', keywords: 'redis' })
client.hmset('article:003', { title: 'test3', content: '....', keywords: 'redis,手艺' })
client.hmset('article:004', { title: 'test4', content: '..', keywords: '手艺' })

培植索引

zadd keyword:redis 1540736588833 001 1540736588833 002 1540736588833 003
zadd keyword:手艺 1540736588833 001 1540736588833 003 1540736588833 004

1540736588833是权重值,是以后时间的毫秒值,代表甚么时侯添加的这些要害字。

毗连查询

ZINTERSTORE out 2 keyword:手艺 keyword:redis

百人牛牛棋牌此时out中就会存放网罗有手艺和redis两个要害字的文章ID,即 001 和 003

只更新不存在的索引

百人牛牛棋牌有时侯,我们能够在构建索引时不影响原有索引的权重值,以此来保留每个要害字最后添加时的时间(权重分数)。以此来统计某个时间段添加此要害字的文章。

百人牛牛棋牌好比article:004添加了新的要害字redis,而且是和“手艺”要害字一起提交的,此时会更新索引:

zadd keyword:手艺  1550736588800 004
zadd keyword:redis 1550736588800 004

但是我们不欲望 keyword:手艺 的权重更新,由于此要害字曾经存在了,则直接应用 NX 便可:

zadd keyword:手艺   nx  1550736588800 004
zadd keyword:redis  nx  1550736588800 004


然后好比说现在想提取昨天之前添加的“手艺“文章ID,则直接按score权重查询便可:

zrangebyscore keyword:手艺 0  1550736588800

这在某些场景中异常有用,好比说发卖给某些客户添加了“居心向客户“标签,厥后在发卖的起劲下将其转化成了“潜在客户“,以后又转化成了“签单客户”,为了考察发卖员事迹, 须要统计每周/每个月的转化个数,可以用此种措施可盘算某个时间段内添加该标签的客户ID。


尚有一些其他的参数:

XX: 仅仅更新存在的成员,不添加新成员。
NX: 不更新存在的成员。只添加新成员。
CH: 修改前往值为发生变换的成员总数,原始是前往新添加成员的总数 (CH 是 changed 的意思)。更改的元素是新添加的成员,曾经存在的成员更新分数。 以是在敕令中指定的成员有类似的分数将不被盘算在内。注:在通常情形下,ZADD前往值只盘算新添加成员的数目。
INCR: 当ZADD指定这个选项时,成员的操作就一概ZINCRBY敕令,对成员的分数阻拦递增操作。

百人牛牛棋牌异常可以应用XX来更新只存在的成员,可在一些特殊场景中应用。

剖析 t_zset.c 的源码可知,这些参数是可以一起应用的,好比incr和XX/NX同时应用:

相关图片

相关文章

鑫乐棋牌-鑫乐棋牌游戏-鑫乐棋牌乐游网 JDB老虎机-jdb老虎机游戏 AQP捕鱼-金蟾捕鱼-千炮捕鱼下现金手游 通比牛牛棋牌-牛牛棋牌真人提现 AG捕鱼王-捕鱼王3D网页版-红包捕鱼游戏手游 亲朋棋牌-亲朋棋牌游戏-亲朋棋牌手游版 网上手游-网上手游棋牌-网上手游app注册 彩票幸运飞艇-幸运飞艇计划网页版 分分快三计划软件-分分快三计划网页版 二八杠棋牌-二八杠真人棋牌-二八杠棋牌游戏