zoukankan      html  css  js  c++  java
  • FusionInsight大数据开发---Redis应用开发

    Redis应用开发

    要求:

    1. 了解Redis应用场景
    2. 掌握Redis二次开发环境搭建
    3. 掌握Redis业务开发

    Redis简介

    • Redis是一个基于网络的,高性能key-value内存数据库
    • Redis根memcached类似,不过数据可持久化,而且支持的数据类型很丰富。支持在服务端计算集合的并、交和补集等,还支持多种排序功能。

    Redis使用场景有如下几个特点:

    1. 高性能
    2. 低延迟
    3. 丰富数据结构存取
    4. 支持持久化

    Redis应用场景介绍
    Redis提供了灵活多变的数据结构和数据操作,主要应用于如下场景:

    1. 取最新N个数据的操作,比如典型的取某网站的最新文章。
    2. 排行榜应用,取TOP N操作。
    3. 需要精准设定过期时间的应用。
    4. 计数器应用,比如记录用户访问网站的次数。
    5. 构建队列系统
    6. 缓存,如缓存关系数据库中的频繁访问的表数据。

    架构回顾

    1. 无中心自组织的结构,节点之间使用Gossip协议来交换节点状态信息。
    2. 个节点维护Key->Server的映射关系。
    3. Client可以向任意节点发起请求,节点不会转发请求,只是重定向Client
    4. 如果在Client第一次请求之间,Cluster拓扑发生改变,则第二次重定向请求将被再次重定向,直到找到正确的Server为止。

    Redis应用开发
    设计Redis数据结构

    1. 取最新N个数据的操作:list
    2. 排行榜应用,取TOP N操作。以某个条件为权重,比如按顶的次数排行:sorted set。
    3. 利INCR,DECR命令来构建计数器系统。、
    4. Uniq操作,获取某段时间所有数据排重值:set。
    5. 使用list可以构建队列系统

    Redis应用开发
    根据场景开发工程

    1. 梳理业务场景流
    2. 设计各模块接口
    3. 如果使用的是安全集群,需要进行安全认证
    4. 熟悉Redis提供的相应API
    5. 调用业务需要的API实现各功能

    数据结构设计

    • 计算过程中使用的用户信息使用hash结构存取,KEY设计为userinfo-<user id>,
    • field为用户的属性。

    数据读写原则

    • MR任务每天定时将用户信息从后端存储源(HBase)批量导入Redis中。
    • 业务系统获取数据时,先从Redis中获取,获取不到再取后端HBase获取即实时计算,并同步写入到Redis。

    样例说明-String类型操作

    1. set:将字符串值value关联到key
    2. get:返回key所关联的字符串值,
    3. setex:将字符串值value关联到key,并设置key的生存时间
    4. append:将value追加到key原值的末尾,类似Java String类型的“+”操作。

    样例说明-List类型操作

    1. Ipush/rpush:往列表头/尾添加一个元素。
    2. Irange:返回列表中start至end之间的元素
    3. llen:返回列表的长度
    4. lpop/rpop:从列表头/尾获取一个元素,并将其中列表中删除。

    样例说明-Hash类型操作

      • hset
      • hget
      • hgettall
      • hmset
      • hincrby
      • hkeys
      • hvals
      • hmget
      • hexists
      • hdel
  • 相关阅读:
    WampServer Mysql配置
    Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
    Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
    Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 质因数2
    Java实现 蓝桥杯VIP 算法提高 前10名
  • 原文地址:https://www.cnblogs.com/cainiao-chuanqi/p/11251787.html
Copyright © 2011-2022 走看看