1、Redis简介
Redis(Remote Dictionary Server),远程字典服务,由意大利人Salvatore Sanfilippo开发,是一个使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、NoSQL开源内存数据库,提供多种语言的API。Redis是一个key-value存储系统,支持存储的value类型很多,包括String(字符串)、List(链表)、Set(集合)、Zset(sorted set--有序集合)和Hash(哈希类型)等。
2、Redis用途
在生产中使用最多的场景就是做数据缓存。即客户端从 DBMS 中查询出的数据首 先写入到 Redis 中,后续无论哪个客户端再需要访问该数据,直接读取 Redis 中的即可,不 仅减小了 RT,而且降低了 DBMS 的压力。
用户进行写操作时,修改的数据会放入DBMS中,而缓存层的数据还是老数据,这样就会导致缓存层也数据库中的数据不一致。
根据 Redis 缓存的数据与 DBMS 中数据的同步性划分,缓存一般可划分为两类:实时同步缓存,与阶段性同步缓存。
实时同步缓存是指,DBMS 中数据更新后,Redis 缓存中的存放的相关数据会被立即清 除,以促使再有对该数据的访问请求到来时,必须先从 DBMS 中查询获取到最新数据,然后 再写入到 Redis。
阶段性同步缓存是指,Redis 缓存中的数据允许在一段时间内与 DBMS 中的数据不完全 一致。而这个时间段就是这个缓存数据的过期时间。(对于数据大差不差对用户观感没有影响的情况下,数据可以采用阶段性同步缓存)。