
Redis
文章平均质量分 89
gonghaiyu
7年开发经验,2年项目管理经验。曾分别就职于某军工所,京东,美的等全球500强企业。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分布式锁种类及Java实现方式
分布式锁种类分布式锁的常见实现方式有四种:基于 MySQL 的悲观锁来实现分布式锁,这种方式使用的最少,因为这种实现方式的性能不好,且容易造成死锁;基于 Memcached 实现分布式锁,可使用 add 方法来实现,如果添加成功了则表示分布式锁创建成功;基于 Redis 实现分布式锁,这也是本课时要介绍的重点,可以使用 setnx 方法来实现;基于 ZooKeeper 实现分布式锁,利用 ZooKeeper 顺序临时节点来实现。由于 MySQL 的执行效率问题和死锁问题,所以这种实现方式会被我们原创 2020-09-29 00:21:16 · 711 阅读 · 0 评论 -
Redis 的过期策略及内存淘汰机制
Redis 的过期策略对于已经过期的数据,Redis 将使用两种策略来删除这些过期键,它们分别是惰性删除和定期删除。惰性删除是指 Redis 服务器不主动删除过期的键值,而是当访问键值时,再检查当前的键值是否过期,如果过期则执行删除并返回 null 给客户端;如果没过期则正常返回值信息给客户端。它的优点是不会浪费太多的系统资源,只是在每次访问时才检查键值是否过期。缺点是删除过期键不及时,造成了一定的空间浪费。惰性删除的源码位于 src/db.c 文件的 expireIfNeeded 方法中。int原创 2020-09-29 00:06:02 · 212 阅读 · 0 评论 -
(高级)Redis 第四章 分布式缓存Redis及三主三从实践
目录缓存的主要形式:后端系统本地缓存(包括堆外,堆内;或者从应用程序的角度来说,包括一级缓存,二级缓存)、集中式缓存,以及分布式缓存常见形式及其区别。Redis基本介绍:主要包括:redis的由来、性能参数、业界使用情况及其版本变化情况Redis分区:这一块内容在第三章有所讲解,但这里角度更高。redis的水平拆分,如何水平拆分,如何负载均衡,如何寻址Redis分布式解决方案:redis的分布式解决方案Redis主从复制:Redis主从复制原理Redis故障转移:故障发生时的failover和f原创 2020-09-08 20:28:29 · 780 阅读 · 0 评论 -
(升级)Redis 第三章 Redis功能实现机制及部署结构
4. Redis功能实现机制4.1 持久化由于Redis是内存数据库,它将自己的数据库状态存储在内存里面,所以如果不想办法将储存在内存中的数据库状态保存到磁盘里面,那么一旦服务器退出,服务器中的数据库状态也会消失不见。为了解决这个问题,Redis提供了RDB、AOF持久化方式,将内存中的数据保存到磁盘中,避免数据意外丢失。(1)RDBRDB持久化通过将服务器某个时间点上的数据库状态(非空数据库以及相关键值对)保存到一个RDB文件中,Redis服务器可以用它来还原数据库状态。 SAVE命令会阻塞Red原创 2020-06-13 23:46:14 · 242 阅读 · 0 评论 -
(基础)Redis 第二章 Redis数据结构
3.1 简单动态字符串Redis没有直接使用C语言传统的字符串表示,而是自己构建了名为**简单动态字符串(simple dynamic string ,SDS)**的抽象类型,并将SDS用作Redis的默认字符串表示。除了用来保存数据库中的字符串值之外,SDS还被用作缓冲区,例如AOF模块中的AOF缓冲区、客户端状态中的输入缓冲区等。与c字符串的区别:(1)常数复杂度获取字符串长度。(2)杜绝缓冲区溢出。(3)减少修改字符串时带来的内存重分配次数(空间预分配、惰性空间释放)3.2 链表链原创 2020-06-13 10:34:11 · 324 阅读 · 1 评论 -
(基础)Redis 第一章 Redis基础
Redis 介绍1.1 Redis特性(1)存储结构Redis是Remote Dictonary Server的缩写,它使用字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。同大多数脚本语言的字典一样,Redis字典中的键值除了可以是字符串,还可以是其他数据类型。Redis支持的数据类型有字符串、散列、列表、集合、有序集合。(2)内存存储与持久化Redis数据库的所有数据都存储在内存中,在一台普通的笔记本电脑上,Redis可以在1秒内读写超过十万个键值。Redis也提供了持久化的支持原创 2020-06-12 00:44:33 · 366 阅读 · 1 评论