package
0.0.0-20230424045628-a36dcc1d90e4
Repository: https://github.com/weedge/lib.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
# README
介绍
- 使用skiplist 封装成 sortedlist(MemberScore), 支持并发场景,Range操作O(log(n)+m)
- 对container/list进行修改,加入score([]byte,可以改成Comparable接口来支持不同类型排序),支持并发场景,Range操作O(n+m)
使用场景
两者可用于从 redis zset 通过 ZRANGE ** start stop WITHSCORES (O(log(n)+m))或 ZRANGEBYSCORE ** min max WITHSCORES(O(log(n)+m)) 获取的数据放入本地进程SortedList结构中使用,减少网络io,并发请求大时,缓解出现热key的情况;
本地缓存可以选用LRU来进行淘汰;
tips: 写入redis zset的数据是时序append加入到有序集合中的,不能出现更新历史数据的情况,以防顺序变化,导致本地缓存不一致