redis设计的一个tip

场景:在使用emq-auth-redis中,需要申请redis的内存。但是有些内存是有可能使用不到的。
方案:在写入auth的有效的内容的时候,写入了一个sadd 20171014的key,该key的值为其他redis的key本身的值,例如:
在写入hmset mqtt_user:zhaozx password zhaozx时,也写入了sadd 20171014 zhaozx。
在crontab中,凌晨1点时扫描昨天的key(20171014)中的内容与DB中的数据对比之后删除redis的key,例如数据库中没有zhaozx信息时应该删除redis的key:
del mqtt_user:zhaozx 20171014

在实际的使用场景中,内存的资源是很宝贵的,对于写入内存的数据需要检查他们的有效性。
写入内存的数据有些是冗余的话,那么会让内存一直增加,减少了系统可用的内存。

posted @ 2017-10-14 11:19  祥子爱游戏  阅读(101)  评论(0编辑  收藏  举报