Redis 限流 - 简单限流 简单限流使用reids解决一个限流问题指定用户的一个操作行为,在特定时间内period(一段时间,时间段)只允许仿生最多的次数MaxCount 解决方案声明一个方法,参数 key value period maxCount key 为 用户id+操作行为标识 “userId:actionFlag” value 取对应时间戳即可(节省内存空间) 一分钟内只能回复5次帖子 period 为 6 2023-12-01 ReadingBooks ReadingBooks,Book,Redis
Redis 布隆过滤器 布隆过滤器可以判断某个值是否在集合中 推荐系统去重 当压力很大时,频繁查询数据库就会有很大的压力,去重工作的性能就跟不上了 Bloom Filter就是为了专门解决这个去重问题,在空间上还能节省90%以上的空间 只是稍微有那么点不准确,也就是有一定的误判概率 可以把布隆过滤器理解为一个不怎么精确的set结构,contains方法判断某个对方是否存在时,可能会误判,但是也不是特别不精准,只要设置参数 2023-11-27 ReadingBooks ReadingBooks,Book,Redis
Redis HyperLogLog HyperLogLogHyperLogLog数据结构是用来解决统计UV这样的问题的,对于大数据量千万级 提供不精确的去重计数方案,虽然不精确,但是也不是非常离谱,标准误差是0.81% 这样的精度基本上满足UV统计的需求了 是Redis 的高级数据结构吗,使用的人非常少。 使用方法提供了两个执行pfadd pfcount pfadd uv userid1 pfadd uv userid2 pfco 2023-11-23 ReadingBooks ReadingBooks,Book,Redis
Redis 位图 位图平时开发会有一些bool类型的需求 用户签到,一天签到一次,一年365次,当用户数上亿,那就是300多亿数据,需要的存储量惊人 redis就提供了位图数据结构,每天签到记录只占位一个bit,365为=46字节,一个稍长的字符串就可以够用 可以通过 set ge 直接设置整个位图的内容 setbit getbit 设置单个位图的内容(一个位数组) 基本用法通过编程语言计算hello的二进制值 2023-11-18 ReadingBooks ReadingBooks,Book,Redis
Redis 延时队列 Redis 延时队列 Redis消息队列并不想mq那样具有很多的特性,对于需要消息可靠性有极高保证的话,redis消息队列不适合,因为他没有ack保障,对于只有一组消费者的队列Redis可以很轻松的搞定。 异步消息队列Redis的list(列表)数据结构常用来作为异步消息队列使用 利用rpush和lpush操作入队列,用rpop和lpop操作出队列 rpush->lpop lpop-> 2023-11-13 ReadingBooks ReadingBooks,Book,Redis
Redis 分布式锁 Redis 分布式锁分布式锁引入分布式应用就会时长遇到并发问题 client 两个副本想要对 key操作, 副本a 进行get 操作 副本b进行set操作 因为对于这种操作它不是原子性的(原子性:不会被线程调度机制打断的操作,这种操作一旦开始,就会一直运行到结束,中间不会任何有任何线程的切换) 这个时候就要用redis分布式锁来限制程序的并发执行。 对于redis实现分布式锁,逻辑是 在red 2023-11-08 ReadingBooks ReadingBooks,Book,Redis
Redis 基础数据类型 String类型不同类型的数据结构的差异都在于valuevalue类似java ArrayList 可以动态扩容在实际分配的空间小于1MB时,扩容是加倍现有空间,如果超过1MB之后,扩容只会多扩容1MB,需要注意的是字符串长度最大为512MB 命令set k1 v1 get k1 exists k1 # 是否存在k1缓存 del k1 mset k1 v1 k2 v2 mget k1 k2 k3 2023-11-05 ReadingBooks ReadingBooks,Book,Redis
Redis可以做什么? 1、记录帖子的点赞数、评论数和点击数(hash) 2、记录用户的帖子ID列表(排序),便于快速显示用户的帖子列表(zset) 3、记录帖子的标题、摘要、作者和封面信息,用于列表页展示(hash) 4、记录帖子的点赞数用户id列表,评论id列表,用于显示和去重计数(zset) 5、缓存近期热帖内容(帖子内容的空间占用比较大),减少数据库压力(hash) 6、记录帖子的相关文章id,根据内容推荐相关的 2023-11-02 ReadingBooks ReadingBooks,Book,Redis
读书记录 - 索引 [ReadingBooks] Redis深度历险1. Redis能做什么? 2. Redis基础类型 3. Redis分布式锁 4. Redis延时队列 5. Redis位图 6. RedisHyperLogLog 7. Redis布隆过滤器 8. Redis简单限流 2023-10-01 ReadingBooks ReadingBooks,Book
Hello Andot Studio Welcome to AndotStudio! 欢迎您们来到我的个人博客知乎 个人主页:https://www.zhihu.com/people/antsdot 知乎专栏:https://www.zhihu.com/column/artskill 个人网站: 2023-09-27