1. 2.1 Redis BloomFilterhistorical

    1. Redis实现 - bit数组可以用redis的BitMaps实现 - 自动扩容可以使用一个cursor记录当前BitMaps的位置,达到饱和后再次创建一个同样大小的BitMaps。 - 如此get的逻辑就变成该元素是否在任意一个BitMaps中 - put的逻辑也是判断该元素不在任意一个Bi

  2. 2.2 Redis RateLimiterhistorical

    1. 是什么 - 基于Redis实现的限流 2. 计数器算法 2.1. 接口 2.1.1. 访问次数加一 - 参数:key - 返回: - 当前访问次数 - 访问次数重置的剩余时长 2.1.2. 获取当前访问次数 - 参数:key - 返回: - 当前访问次数 - 访问次数重置的剩余时长 2.2.

  3. 2.3 Redis数据结构historical

    1. Redis DB redisDb是Redis中表示Db的数据结构,里面包含了dict类型; dict是Redis中表示K、V的数据结构,里面包含了dictht类型; dictht是数组,数组中的每个元素是dictEntry;(即Redis用hash结构实现K、V) dictEntry的next

  4. 2.4 Redis异步队列historical

    1. 什么是异步队列 - 队列:先进先出 - 异步:有缓存区 - 说白了就是带缓冲区的生产者/消费者模型 2. 如何实现异步队列 2.1. rpush+lpop+sleep 一般使用 list 结构作为队列,rpush 生产消息,lpop 消费消息。当 lpop 没有消息的时候,要适当 sleep

  5. 2.5 Redis分布式锁historical

    1. Redis分布式锁是什么 基于Redis实现的分布式锁 2. Redis分布式锁实现 2.1. 单实例 2.1.1. 加锁 - 不存在的情况下set一个key - setnx用来保证原子性 - key用来保证互斥 - value用来保证加锁和解锁必须是同一客户端 - expx、time用来保证

  6. 2.6 Redis key 设计技巧historical

    1. MySQL- Redis 1.1. 单表 - 主键列 set 表名:主键名 主键值 - 其他列 set 表名:主键名:主键值:列名 列值 1.1.1. 用户表 根据primary key查询record - MySQL 用户表: userid username password email -

  7. 2.7 Redis命令historical

    1. Redis通用命令 - keys pattern 查询相应的key - 在redis里,允许模糊查询key,有3个通配符 , ? ,[] - : 通配任意多个字符 - ?: 通配单个字符 - []: 通配括号内的某1个字符 - redis-cli只能查出本节点的数据 - SCAN cursor