Redis

Redis 常用数据类型

1.字符串

string

int 分布式锁、规避并发

bitmap (1字节=八位能够使用很小的空间处理很大标记性的数据)
1)SETBIT 设置
2)BITCOUNT 数量
3)BITPOS 1第一次出现
4)BITOP  计算AND 并 、 OR 或 、 NOT异或 、 XOR 非

2.列表

有序(插入顺序)

栈 同向命令

堆 反向命令

数组

阻塞队列 BLPOP key [key ...] timeout  (消息队列)

3.Hash

map(key,value)

int类型的可以做CRUD

详情页(点赞、收藏、)

4.set

无序 位置随机 去重

抽奖

5.sorted_set

有序set  从左往右变大  底层使用跳表

多个key 可以进行操作(交集、并集)【爬数据根据权重重新排序】

排名


扩展

Pub/Sub 消费者订阅一个通道(阻塞),生产者往通道里面添加数据,消费者会接收到数据。

Redis是可扩展的:(可以专门为某块业务来扩展Redis类型)

使用Redis解决穿透问题---bloom过滤器
bloom 原理是利用bitmap来实现的   一个值通过n个算法定位到n个位数 bitmap对应的位数为1通过反之不通过。能够很大概率上防止穿透。

Redis保证数据不丢失

RDB:是指在指定的时间间隔内将内存中的数据集快照写入磁盘。实际操作过程是,fork 一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。
AOF:以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。

RDB优点缺点:
优点:1)灵活设置备份频率和周期。
           2)性能最大化。需要做的只是 fork 出子进程,之后再由子进程完成这些持久化的工作,这样就可以极大的避免服务进程执行 IO 操作了。
           3)恢复更快。相比于 AOF 机制,RDB 的恢复速度更更快,更适合恢复数据,特别是在数据集非常大的情况。
缺点:1)数据丢失。系统一旦在定时持久化之前出现宕机现象,此前没有来得及写入磁盘的数据都将丢失。【配合AOF使用
            2)数据集较大时,可能会导致整个服务器停止服务。【夜晚启动RDB备份

AOF优点缺点:
优点:1)AOF 包含一个格式清晰、易于理解的日志文件用于记录所有的修改操作。
          2)可以带来更高的数据安全性,即数据持久性。Redis 中提供了 3 种同步策略,即每秒同步、每修改(执行一个命令)同步和不同步。【丢数据少】
          3)AOF 日志过大,Redis 可以自动启用 rewrite 机制。
缺点:1)AOF 文件通常要大于 RDB 文件。RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。
            2)AOF 在运行效率上往往会慢于 RDB 。【基于同步策略

Redis集群化部署

sentinel 哨兵模式

    主要解决是主备问题:由于网络不稳定。当主机挂掉之后哨兵模式能够更快的相应把备机转换成主机。

哨兵模式运行机制:哨兵通过与Redis主备机通信,当某台Redis通信失败会认为该Redis宕机。如果master宕机会通知其他备机,并通过修改配置把备机修改成主机。

一般情况sentinel会有三个节点,通过投票的方式来确定Redis节点是否宕机。少数服从多数原则。过半原则。

Redis单节点容量问题

1、按照业务拆分。(权限一套Redis、商品一套Redis等)

2、sharding分片技术。

主要介绍2.

2.1  客户端分片
    通过算法把数据分别存储到不同的服务器上。
2.2 服务端分片
    数据发送到服务端,服务端通过算法把数据存储到不同的机器上。
2.3 代理分片
    数据发送给代理,由代理通过算法把数据存储到不同的机器上。

优缺点:

    客户端分片。服务端简单,客户端需要进行数据处理然后进行分片。业务复杂化。可以支持服务端数据计算(sorted_set交并集、事务等)
    服务端分片:Redis 3.0的集群支持HA。客户端连接集群中任意节点,增删改查时会通过算法查出数据在哪个节点上,会自动把连接连到该节点。数据分片算法 hash取模 16384个槽位。连接成本会很高。
    代理分片:客户端与代理连接,所有的操作发送给代理,由代理确定数据存储到哪个节点上。需要引入代理层。twemproxypredixy。(predixy很快)

分片算法:
       1. hash 取模算法 (扩展性不高)
       2. 随机random  
       3. hash一致性  

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,254评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,875评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,682评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,896评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,015评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,152评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,208评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,962评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,388评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,700评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,867评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,551评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,186评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,901评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,689评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,757评论 2 351