1、使用布隆过滤器,快速过滤不存在的记录。
使用Redis的bitmap结构来实现布隆过滤器。
2、在Redis中建立数据缓存。将我们对Redis使用场景的理解尽量表达出来。
以普通字符串的形式来存储,(userld -> user.json)。 以一个hash来存储一条记录(userld key-> username field-> ,userAge->)。以一个整的hash来存储所有的数据,Userlnfo-> field就用userld ,value就用user.jison。一个hash最多能支持2^32-1(40多个亿)个键值对。
缓存击穿: 对不存在的数据也建立key。这些key都是经过布隆过滤器过滤的,所以一般不会太多。
缓存过期: 将热点数据设置成永不过期,定期重建缓存。使用分布式锁重建缓存。
3、查询优化。
按槽位分配数据。
自己实现槽位计算,找到记录应该分配在哪台机器上,然后直接去目标机器上找。