redis
文章平均质量分 62
包工头小王
这个作者很懒,什么都没留下…
展开
-
redis分布式锁
分布式锁的奥义占坑一般使用setnx指令,只允许被一个客户端占坑,先来先占,用完了再del但是如果逻辑执行到中间除了异常,导致del操作没有被调用,就会陷入死锁,锁得不到释放可以在拿到锁之后,给锁加上一个过期时间但是如果在setnx和expire之间服务器进程突然关了,导致expire得不到执行,也会造成死锁根源setnx和expire不是原子指令Redis2.8中对set进行扩展,使得setnx和expire指令可以一起执行,解决了分布式锁的乱象set lock:codehole true原创 2021-07-21 23:34:35 · 125 阅读 · 0 评论 -
布隆过滤器原理
布隆过滤器原理一个大型的位数组和几个不一样的无偏hash函数,图中f、g、h,就是把元素hash值算得比较均匀,让元素被hash映射到数组中的位置比较随机向布隆过滤器中添加key时,会使用多个hash函数对key进行hash,算得一个整数索引值,然后对位数组长度进行取模运算得到一个位置,巍哥hash函数都会算得一个不同的位置,再把位数组的这几个位置都置为1,就完成了add操作向布隆过滤器询问key是否存在时,跟add一样,也会把hash的几个位置都算出来,看看是否都为1,只要有一个是0,那么说明布隆原创 2021-07-20 18:03:38 · 64 阅读 · 0 评论 -
redis持久化
持久化Redis有两种持久化机制,第一种是快照RDB,第二种是AOF日志。快照是一次全量备份,AOF日志是连续的增量备份。快照是内存数据的二进制序列化形式,在存储上非常紧凑,而AOF日志记录的是内存数据修改的指令记录文本。AOF日志在长时间运行会变很大,需要定期AOF重写,给AOF日志进行瘦身快照原理问题:1、在服务线上请求同时,Redis还要进行内存快照,内存快照要求Redis必须进行文件IO操作,可文件IO操作不能使用多路复用API2、为了不阻塞线上业务,Redis要一边持久化、以便响应客户原创 2021-07-19 23:39:34 · 96 阅读 · 0 评论 -
redis五大数据类型
redis五大数据类型[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tx2Oq4gM-1620556205638)(E:\笔记整合\NoSQL\redis官网.png)]Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件MQ。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyp原创 2021-05-09 18:30:50 · 63 阅读 · 0 评论