Redis数据结构源码探秘

Redis简介

  Redis是一个开源的、使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis 具有很多优势:

  • 性能极高:Redis纯内存读写,读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型: Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子: Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性: Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis对象

  Redis 使用对象来表示数据库中的键和值, 每次当我们在 Redis 的数据库中新创建一个键值对时, 我们至少会创建两个对象, 一个对象用作键值对的键(键对象), 另一个对象用作键值对的值(值对象),源码如下:

typedef struct redisObject {
    // 类型
    unsigned type:4;
    

你可能感兴趣的:(Java校招笔经面经,Java面经)