Redis入门:了解Redis的基础知识

发表时间: 2024-05-28 20:25

Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库

Redis 与其它 key/value 缓存产品有以下三个特点:

1、 Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用;
2、 Redis不仅支持key-value类型的数据,还提供list,set,zset,hash等数据结构的存储;
3、 Redis支持数据的备份,即master-slave模式的数据备份;

优点:

  1. 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s。
  2. 丰富的数据类型 – Redis支持字符串、列表、集合、有序集合、哈希表等数据类型。
  3. 原子性 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的,多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  4. 丰富的特性 – Redis还支持发布/订阅、通知、Key过期等特性。

缺点:

  1. 数据库大小 – 如果数据集大小超过内存大小,Redis需要进行外部存储。
  2. 持久化 – Redis的持久化依赖于快照,每次快照会阻塞所有客户端。
  3. 不适合复杂查询 – Redis不支持复杂的查询,只支持简单的键值操作。
  4. 不适合大量数据的随机写 – Redis是基于内存的,大量的随机写会导致内存碎片。

Redis的应用场景:

  1. 缓存系统 – Redis提供高性能的读写操作。
  2. 排行榜/计数器 – Redis提供了列表,集合,有序集合等数据结构
  3. 会话缓存 – Redis可以用来保存用户会话信息。
  4. 队列系统 – Redis提供了列表的数据结构,可以用来实现队列。
  5. 分布式锁 – Redis可以使用SETNX命令实现分布式锁。
  6. 分布式信号量 – Redis可以使用PSETEX和SETNX命令实现分布式信号量。

Redis 与其它 key-value 存储有什么不同?

1、 Redis支持更多的数据类型,并且提供对这些数据类型的原子性操作;
Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象
2、 Redis的数据可以持久化到磁盘;