如上图效果
1.实现基金排行
SortedSet 实现分页,排序
添加元素:ZADD ZADD key sorce(排序字段) number(基金代码)
总量:ZCARD key
分页及排序:升序 ZRANGE key start stop 降序 ZREVRANGE KEY start stop
其他命令
取某个成员分值 ZSCORE key number
取某个成员排名 ZRANK key number
2.基金排行详情,hash实现
添加:HSET key field value;value完整数据;实现取完整数据
获取:HGET key field
3.基金经理排行
List 排序 分页,无法排序
Lpush 写入 key value ;value 基金经理代码
Llen 总长度
Lrange 区间 key start end 取出基金经理代码 20条数据
一,类型及使用场景
1.list 当作java list使用
场景:微信关注的公众号列表/订阅
2.hash 类似Map,数据类型 <k, Map<k1,v1>> value也是一个map
场景:存在二维关系如
电商:门店:商品ID:商品信息;
购物车:用户:商品:商品详情
3.set 着重取交集并集;数据的添加,删除,弹出某个数
场景:微信共同好友,qq可能认识的人,微信点赞/取消,抽奖
4.Zset 有个分值
场景:头条热点,排行榜,数据分页处理
二,分布式锁
redis - redlock(理念) - (实现)redisson(lock/unlock)
坑
误解锁
加锁时间 与 业务执行时间关系
1.加锁时间过短,业务未执行完,锁释放;导致后续请求过来,加锁失效;且第一个请求执行完释放锁时,可能把第二个请求的锁释放,导致连锁反应...