Redis的读书笔记 第一章:初识Redis

2019-07-26  本文已影响0人  super_pcm

Redis的读书笔记系列的书是《Redis开发与运维》,这本书站在开发及运维的角度介绍Redis。为了更好学习Redis,把书本中的部分内容记录下来,由于本人是一个运维所以记录的内容更多是偏向于运维方面的。以下是书本的内容。

1. 初识Redis

1.1 Redis的特性

  1. 速度快:官方给出的读写性能可以达到10万/秒
  2. 基于键值对的数据结构服务器:提供了5种数据结构(字符串、哈希、列表、集合、有序集合),并衍生除了位图和HyperLogLog两种神奇的数据结构。
  3. 丰富的功能:提供键过期,可以用来实现缓存;提供发布订阅功能,用来实现消息系统;支持Lua脚本功能,可以利用Lua创造出新的Redis命令;提供简单的事务功能;提供了流水线(Pipiline)功能,这样客户端能将一批命令一次性传到Redis,减少网络开销。
  4. 简单稳定:主要表现为代码少,使用的是单线程,服务端处理模型更加简单。
  5. 客户端语言多:客户端列表参考
  6. 持久化:提供了RDB和AOF两种持久化方案
  7. 主从复制:提供了复制功能,实现了多个相同数据的Redis副本,复制功能是分布式Redis的基础。
  8. 高可用和分布式:在2.8版本开始正式提供了Redis Sentinel,它能保证Redis节点的故障发现和自动转移。Redis从3.0版本正式提供了实现分布式的Redis Cluster,它是Redis真正的分布式实现,提供了高可用、读写和容量的拓展性。

1.2 Redis使用场景

根据以上的特性,可以知道redis的典型的使用场景

  1. 缓存:缓存机制几乎在所有的大型网站都有使用,可以加快访问速度,降低数据库的压力。
  2. 排行榜系统:利用有序集合的数据结构来实现
  3. 计数器的应用: 比起关系型数据库,Redis天然支持计数功能,并且性能很好。
  4. 社交网络:主要报错赞/踩、粉丝、共同好友/喜好这些,主要还是Redis的数据结构更加合适。
  5. 消息队列系统:利用Redis提供的发布订阅功能和阻塞队列功能。虽然比不上专业的消息队列,但是对于一般的消息队列功能基本可以满足。

1.3 Redis不可以做什么

  1. 大规模的数据存储:Redis的数据都是丢在内存里面的,如果你用Redis来存放每天有几亿行的数据的话,那基本是个无底洞了,经济成本相当高。
  2. 冷数据:站在数据冷热的角度看,数据分为热数据和冷数据,热数据通常是指需要频繁操作的数据,反之为冷数据。冷数据没什么查询,那就没必要存放在Redis中了,避免对内存的浪费。

1.4 Redis的安装部署

Redis在CentOS7下的安装请查看这个 CentOS7下安装Redis4.0,Redis在Windows下的安装部署就不做记录了。

提问:Redis为什么会那么快?

  1. 数据是放在内存里面的
  2. redis是用C语言来实现,距离操作系统更近
  3. reids使用的是单线程,预防了多线程可能产生的竞争问题
  4. redis的源代码优秀
上一篇 下一篇

猜你喜欢

热点阅读