Redis定期删除List
Blog iconToka
May 27
在实际开发中,通过使用特征值来对数据进行去重复操作,而特征值首先需要具备过期时间和列表属性,但在redis中没有直接可用的数据结构,如果使用String则没有List特性,并且检索过程繁琐无法利用好redis,而List则无法使用过期时间。 查找资料后找到一种思路:使用有序集合进行排序,以时间作为值,定期执行清除过期数据任务 那么接下来开始实践 有序集合在Go中结构为redis.Z,包含Member 元素名与Score 分数 首先需要了需要用到的函数,用到的无非就是增,删,查三个函数(文章末尾有函数介绍):ZAdd: 添加特征值元素,Member为特征值,Score为时间戳ZRangeByScore: 通过分数范围取值,分数范围即为有效时间ZRemRangeByScore: 通过时间范围删除特征值除此之外,还需要一些时间函数,用于计算有效时间获取分数(时间戳string)内的值删除分数(时间戳float64)外的值并且需要有两种返回形式,float64用于ZAdd的float型分数,而string用于检索时的分数// TimeBfFloat 获取日期时间戳 func TimeBf...

Toka

Written by
Toka
Subscribe

2025 Paragraph Technologies Inc

PopularTrendingPrivacyTermsHome
Search...Ctrl+K

Toka

Subscribe