随笔分类 - redis
摘要:string: 常用命令:get、set、incr、decr、mget等 应用场景:限制访问次数(限流)、验证码过期时间、热点数据缓存、访问量点击量存储、分布式锁、延时、 实现方式:decr等操作时会转成数值型进行计算,此时redisObject的encoding字段为int。 Hash: 常用命令
阅读全文
摘要:应用场景: 库存超卖 (数据不一致) redis中保存获取别人传来的token,设置了过期值。在高并发多线程情况下。有可能会出现旧的token覆盖新的情况。 实现原理: 实现代码:
阅读全文
摘要:redis支持两种持久化方式:一种是RDB方式,另一种是AOF方式可以单独使用,也可以两者结合使用。 ######第一种:rdb(快照)redis默认的持久化方式 原理:在符合一定条件下,将数据快照并存储到硬盘上。默认存储在redis根目录的dump.rdb文件中 过程:当redis需要做持久化时,
阅读全文
摘要:keys命令在线上是禁止使用的。 原因: Redis是单线程的,其所有操作都是原子的, 当数据量过大的时候,keys命令是非常耗时的,极大的会造成线程阻塞。导致所有请求都被拖慢。甚至严重会redis服务宕机。集群环境下,阻塞时间过长会导致集群分析故障而进行集群切换。 解决方案: 使用scan命令,它
阅读全文