SXT分布式缓存技术公开课的观后感

最近几天在研究Redis,Redis作为最近比较流行的缓存技术,其特点还是很明显的,Redis使用Key-Value的结构来存储数据,Redis也是内存型的数据库,数据一开始是保存在内存中的,通过某些条件例如时间或修改了多少行,redis会自动把数据持久化到物理文件中,这次看了SXT的关于分布式缓存的公开课,其实主要是对于redis的介绍,发现有几个知识点还是要重点关注的:

  1. Redis有两种数据持久化机制,RDB和AOF,RDB指的是数据一开始是保存在内存中,经过一些条件例如15分钟或多少行数据的修改就刷盘,RDB的优点是存储数据快,缺点也很明显,因为数据一开始是保存在内存RAM中,一旦服务器断电又没有UPS(生产系统这种情况很少见吧),内存中的数据就只有呵呵了。AOF是append only file的缩写,是指把修改数据的记录放到类似log的文件中,下次修改直接在数据日志中append,这样可以避免断电时数据丢失,但是如果需要大批量读写数据的话,性能就可想而知了,redis默认使用RDB持久化机制,数据是保存在dump.rdb文件中,可以把这个文件拷贝到其他redis服务器中,只要版本相同就可以从中读取出数据。
  2. Redis支持5种数据类型,分别是String, Hash, List, Set, Zset. Hash就像我们平常说的Map, Set类似于java中的set, 是一个无序集合,而Zset则是一个有序集合。
  3. Redis是单线程的,单线程可以保证数据的原子性。
  4. Redis默认有16个逻辑数据库,编号从0到15,如果想切换到另外一个数据库使用命令select {0-15}.
  5. Redis集群方案主要有:主从复制,哨兵机制,第三方集群方案;主从复制的配置很简单,只要修改从服务器的redis.conf文件的slaveof属性就好,将其指向主服务器的IP和端口就可以完成配置。注意主服务器支持读写操作,从服务器仅支持读操作,这样实现读写分离可以减轻主服务器的压力。
  6. Redis对事务的支持比较弱,对事务的完整支持需要配合Lua等第三方脚本来执行操作。
原文地址:https://www.cnblogs.com/stonefeng/p/5800815.html