扫码关注官方订阅号
现再做一个排名相关的小游戏,其中排名准备用redis zset来实现,其中排序值是得分和秒数,得分高排名靠前,当得分相同时,秒数少,排名靠前,能不能 将这种结构总结出来一个数值Y来代表,同时得分和分数都是累加的!
业精于勤,荒于嬉;行成于思,毁于随。
假如排在前面的分数所花秒数有个最大值,比如一般都在 100s 以内,那么完全可以用位运算的方法,留低 8 位给秒,剩下高位给游戏分数,由此算出 zset 需要的 score。
即:
score = (game_score << 8) | (time & 0xFF)
能不能这样做取决于你的业务,总之差不多就是这样的思路了。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
假如排在前面的分数所花秒数有个最大值,比如一般都在 100s 以内,那么完全可以用位运算的方法,留低 8 位给秒,剩下高位给游戏分数,由此算出 zset 需要的 score。
即:
能不能这样做取决于你的业务,总之差不多就是这样的思路了。