Redis实战及源码学习
深入了解Redis
九八年生于晚秋
这个作者很懒,什么都没留下…
展开
-
Redis设计与实现 - RDB和AOF持久化
Redis 为什么需要持久化?我们都知道 Redis 是一个内存数据库,它将自己的数据库状态存放在内存中,所以如果不想办法将存储在内存中的数据库状态保存到磁盘中,一旦服务器的进程退出,服务器中的数据库状态也就随之丢失,因此持久化数据是 Redis 必须要做的一件事。RDB 持久化RDB 持久化是通过将某一个时间节点的数据库状态保存到一个 RDB 文件(经过压缩的二进制文件)中,它可以手动执行也可以根据服务器的配置选项定期执行。创建和载入RDB文件在 Redis 命令中,通过 SAVE 和 BGSA原创 2020-05-22 15:56:32 · 148 阅读 · 0 评论 -
Redis设计与实现 - 数据库
本章节主要的内容在于对 Redis 数据库的介绍,数据库保存键值对的方式,数据库增删改查数据的方式,保存键的过期时间的方式以及自动删除过期键的策略。数据库结构Redis 所有的数据库都保存在服务器 redisServer 结构的 db 数组中,每一项都是 redisDb 结构,每一个redisDb 结构都代表着一个数据库。struct redisServer { ...... // 数据库 redisDb *db; // 服务器数据库数量 int db原创 2020-05-14 16:53:34 · 251 阅读 · 0 评论 -
Redis底层数据结构
简单动态字符串Redis 并没有直接使用 C 语言里面的以空字符为结尾的字符数组构成的字符串表示,而是自己构建了简单动态字符串,简称 SDS,作为 Redis 的默认字符串表示。SDS 的定义在 Redis 里面一个 sdshdr 结构表示了一个 SDS 值:struct sdshdr { int len; // 用于记录 buf 数组中已使用的字节的数量也就是 SDS 保存的字符串的长度 int free; // 记录 buf 数组中未使用字节的数量 char buf[];原创 2020-05-14 16:47:50 · 100 阅读 · 0 评论 -
Redis结合SpringBoot
Redis 与 SpringBoot 整合有两种方式,第一种是使用 Jedis,它是 Redis 官方推荐的面向 Java 的操作 Redis 的客户端,第二种是使用 RedisTemplate,它是 SpringDataRedis 中对 JedisApi 的高度封装。我此次使用的是RedisTemplate。Maven依赖首先要加入 Redis 相关依赖<dependency> <groupId>org.springframework.boot</groupId原创 2020-05-14 09:45:53 · 142 阅读 · 0 评论