redis技术总结

redis技术总结

redis技术总结

redis为什么那么快?

redis技术总结

redis技术总结

redis技术总结

如何从海量Key里面查询出某一固定前缀的key?

留意细节:摸清楚数据规模,问清楚边界
答:如果该机器是生产环境正在对外提供服务,不建议使用keys * pattern的方法进行查询,可能会使服务器卡顿,而出现事故。

一般生产服务器建议使用Scan命令,例如:  SCAN 0 MATCH aaa* COUNT 5 表示从游标0开始查询aaa开头的key,每次返回5条,但是这个5条不一定,只是给Redis打了个招呼,具体返回数量看Redis心情。
游标从0开始,每执行一次游标会变并且返回,然后继续拿着返回游标执行Scan命令,最后游标如果返回0,则表明遍历结束,所以可以用一个hashset去接受返回的元素,最后获得全部元素,不会出现卡顿。

如何通过redis实现分布式锁?

redis技术总结

redis技术总结

redis技术总结

如何解决setnx长期有效的问题?
因为其他线程需要拿到锁,所以要设置过期时间,让key失效,其它线程才能拿到锁

redis技术总结

但是这样有一个缺陷(在设置时间那里如果出了问题),就是设置key,和为key设置key的过期时间得不到满足,这样的话也会导致释放不了锁

解决方案:使用另外一个语法,将设置key和时间绑定到了一起,这样一来问题就得到了解决

redis技术总结

redis技术总结

redis技术总结

如何解决大量的key同时过期的注意事项
设置时间加上随机值,尽量使过期时间尽量分散一些,这个问题就可以得到解决
redis技术总结