![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 91
SuZhan7710
于道各努力,千里自同风
展开
-
使用 Redis 实现分布式锁案例
互斥性。在任意时刻,只有一个客户端能持有锁;不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁;解铃还须系铃人。加锁和解锁必须是同一个客户端,客户端自己不能把别人加的锁给解了;加锁和解锁必须具有原子性。......原创 2022-08-07 19:30:28 · 1319 阅读 · 0 评论 -
我用了一万字,介绍了一下Redis五种类型底层实现
目录一、string1.1 embstr && raw1.1.1 Redis 对象头结构体1.1.2 SDS 结构体1.2 扩容策略1.3 总结二、hash2.1 字典2.2 dict 内部结构2.2.1 hashtable2.2.2 渐进式rehash2.2.3 扩容操作2.2.4 缩容操作2.3 总结三、set四、zset4.1 ziplist4.1.1 增加元素4.2 skiplist4.2.1 ziplist 到 skiplist 的变化4.2.2 什么是 skiplist?4.3原创 2022-01-10 13:11:46 · 1029 阅读 · 4 评论 -
如何利用Redis实现分布式Session?
在web开发中,我们会把用户的登录信息存储在「session」里。而session是依赖于「cookie」的,即服务器创建session时会给它分配一个唯一的ID,并且在响应时创建一个cookie用于存储这个「sessionId」。当客户端收到这个cookie之后,就会自动保存这个sessionId,并且在下次访问时自动携带这个sessionId,届时服务器就可以通过这个sessionId得到与之对应的session,从而识别用户的身。如下图:现在的互联网应用,基本都是采用分布式部署方式,即将应用程序部原创 2022-01-08 15:24:54 · 4361 阅读 · 3 评论 -
如何利用Redis实现一个分布式锁?
目录1、何时需要分布式锁?2、如何实现分布式锁?2.1 SETNX 命令2.2 优化过程2.2.1 出现的问题2.2.2 原因2.2.3 解决方案3、锁过期时间不好评估怎么办?3.1 Redisson3.1.1 小结4、基于RedLock算法的分布式锁4.1 Redlock 具体使用方式4.1.1 Redlock 为什么这么做?1、何时需要分布式锁?在分布式的环境下,当多个server并发修改同一个资源时,为了避免竞争就需要使用分布式锁。那为什么不能使用Java自带的锁呢?因为Java中的锁是面向多线程原创 2022-01-08 11:27:01 · 943 阅读 · 0 评论 -
如何保证Redis缓存与数据库的一致性?
这里写目录标题1、四种同步策略:2、更新缓存还是删除缓存2.1 更新缓存2.2 删除缓存3、先操作数据库还是缓存3.1 先删除缓存再更新数据库3.2 先更新数据库再删除缓存4、延时双删4.1 采用读写分离的架构怎么办?5、利用消息队列进行删除的补偿1、四种同步策略:想要保证缓存与数据库的双写一致,一共有4种方式,即4种同步策略:先更新缓存,再更新数据库;先更新数据库,再更新缓存;先删除缓存,再更新数据库;先更新数据库,再删除缓存。从这4种同步策略中,我们需要作出比较的是:更新缓存与删除缓原创 2022-01-07 13:41:03 · 27767 阅读 · 38 评论 -
Redis持久化机制 RDB、AOF
一、RDB(Redis DataBase)RDB持久化机制是指在指定的时间间隔内将数据集快照的方式写入硬盘中,是默认的持久化机制,将内存中的数据以快照的方式写入二进制文件,默认名为dump.rdb中。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到 一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。 整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能。Fork的作用是复制一个与当前进程一样的进程。新进程的所有数据(变量、环境变量、程序计原创 2021-02-22 09:30:00 · 423 阅读 · 0 评论 -
Redis介绍及基本操作
一、Redis简介Redis是一款高性能的Nosql非关系型数据库,以key : value形式把数据缓存在内存中,同时也具有持久化的机制(持久化指的是它不仅可以把数据存在内存中,还可以把数据持久化的存在硬盘里)。Nosql:Not only sql,意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。同系列的产品还有Mongodb、CouchDB等等格式:key:value二、Redis应用为什么使用Redis成本:nosql数据库简单易部署,基本都是原创 2020-10-24 12:30:35 · 148 阅读 · 0 评论 -
NoSQL数据库的简介以及优缺点
NOSQL1.什么是NOSQLNoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。2.NOSQL和关系原创 2020-10-23 17:03:30 · 5603 阅读 · 0 评论