本篇文章给大家带来了关于redis的相关知识,其中主要跟大家分享redis 多维度排行思路,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。
问题描述
众所周知redis zset 经常用于排行榜,可以做到开箱即用,但是有一个缺点,就是只支持单维度的排行。
而实际项目中单维度的排行确很不实用,一个简单的示例,健步走排行,产品的需求是根据步数、完成时间、人名做排行,排序优先度是从左到右。
具体解决思路
步数:原本就是数字可以忽略
人名:人名一般由汉字或字母组成,汉字和字母都是字符串,我们要做排序,第一步就是要把字符串转换成数字,这个过程推荐用php的原生函数mb_ord。
实际取值的过程中我们可以把小数点后面的去掉,小数点后面的数只用于做排行。
推荐学习:《Redis视频教程》
以上是分享redis多维度排行思路的详细内容。更多信息请关注PHP中文网其他相关文章!