分类: Redis

6 篇文章

thumbnail
Redis 分布式缓存
Redis 分布式缓存 基于 Redis 集群解决单机 Redis 存在的问题,单机的 Redis 存在四大问题: 1. 持久化 1.1 RDB 持久化 RDB 全称 Redis Database Backup file(Redis 数据备份文件),也被叫做 Redis 数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当 Redis 实例故…
thumbnail
Redis 通讯协议和内存回收
Redis 通讯协议和内存回收 1. RESP 协议 Redis 是一个 CS 架构的软件,通信一般分两步(不包括 pipeline 和 PubSub): 客户端(client)向服务端(server)发送一条命令 服务端解析并执行命令,返回响应结果给客户端 因此客户端发送命令的格式、服务端响应结果的格式必须有一个规范,这个规范就是通信协议 而在 …
thumbnail
Redis 网络模型
Redis网络模型 1. 用户空间和内核空间 服务器大多都采用 Linux 系统,这里我们以 Linux 为例来讲解: ubuntu 和 Centos 都是 Linux 的发行版,发行版可以看成对 Linux 包了一层壳,任何 Linux 发行版,其系统内核都是 Linux。我们的应用都需要通过 Linux 内核与硬件交互 用户的应用,比如 red…
thumbnail
Redis 数据结构
Redis 数据结构 1. 简单动态字符串 SDS 我们都知道 Redis 中保存的 Key 是字符串,value 往往是字符串或者字符串的集合。可见字符串是 Redis 中最常用的一种数据结构 不过 Redis 没有直接使用 C 语言中的字符串,因为 C 语言字符串存在很多问题: 获取字符串长度的需要通过运算 非二进制安全 不可修改 Redis …
thumbnail
缓存
缓存 1. 基本概念 缓存(Cache),就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数据库中获取,存储于本地代码 // 1. 本地用于高并发 static final ConcurrentHashMap map = new ConcurrentHashMap(); // 2. 用于redis等缓存 static final Cach…
thumbnail
命令
命令 1. 通用命令 通用命令是所有数据类型都可以使用的指令,常见的有: KEYS:查看符合模板的所有 key,不建议在生产环境设备上使用 DEL:删除一个指定的 key EXISTS:判断 key 是否存在 EXPIRE:给一个 key 设置有效期,有效期到期时该 key 会被自动删除 TTL:查看一个 KEY 的剩余有效期 通过 help [c…