基于redis的分布式缓存(笔记)

一、概要

 redis是一种面向‘键/值’对类型数据的分布式NoSQL数据库系统(非关系型数据库)。高性能,持久化,高并发。数据是缓存再内存中的。

二、名词解释

 特性——持久化:周期性地把更新的数据写入磁盘和更改的操作写入追加的记录文件,实现主从同步(master-slave)。

主从同步(master-slave):目的——分担读写压力,主机可负责读写服务,从机只负责读。同时根据业务需求,支持数据的弱一致性(微博),以及强一致性(淘宝)。

一主多从结构:

《基于redis的分布式缓存(笔记)》

主从同步机制:

《基于redis的分布式缓存(笔记)》

主从同步策略:  主从刚刚连接的,先尝试进行部分同步,如果部分同步失败再进行全同步。同时slave可以再任何时候发起全同步的请求。注:http://sofar.blog.51cto.com/353572/1413024/

三、存储类型

string

string–key-value类型,value不仅是string还可以是数字类型。

hash

hash是集合类型,适用于存储对象。

《基于redis的分布式缓存(笔记)》

memcache的数据存储结构:

缺点:当修改某一项的值时,需要将整个对象取出反序列化更新后再进行序列化存储回去,增大了开销,并且不适合并发操作的场合。

redis的数据存储结构:

《基于redis的分布式缓存(笔记)》

可以对单个数据进行操作,如更新某个数据的值:hset user username wangyuan;删除单个数据:hdel user username

List

list,链表。类似于数组,顺序存储。可以使用指针从头到尾定位数据。

Lists的另一个应用就是消息队列,可以利用Lists的PUSH操作,将任务存在Lists中,然后工作线程再用POP操作将任务取出进行执行。Redis还提供了操作Lists中某一段的api,你可以直接查询,删除Lists中某一段的元素。

Sets

sets是一个集合,用于存放不重复值的组合。

例:微博,可以将一个用户所有的关注人存在一个集合中,将其所有的粉丝存在一个集合。

Sorted Sets

与sets相比,sorted sets增加了一个权重的概念,因此集合中的元素可以根据权重进行有序排列。例:存储一个班同学成绩的sorted sets,集合的value可以是同学的学号,而权重可以是学生的成绩。

http://redisdoc.com/官网

    原文作者:半夏_mint
    原文地址: https://www.jianshu.com/p/7d17c88333fc
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞