底层中间件-redis介绍

本文深入介绍了Redis的基础数据类型,包括String、Hash、List、Set和SortedSet,以及它们在实际业务中的应用场景。接着详细讨论了Redis的持久化机制,包括RDB和AOF,分析了它们的优缺点和适用场景。接着,文章探讨了Redis的过期策略,包括定时删除、惰性删除和定期删除,以及内存淘汰机制。最后,文章阐述了主从复制的重要性,其工作流程及在高可用和故障恢复中的角色。
摘要由CSDN通过智能技术生成

一、redis简介

二、Redis基本数据类型(五种)

redis 自身是一个map,其中所有的数据都是采用key:value 的形式进行存储;数据类型指的是存储的数据的类型,也就是Value部分的类型,key部分永远都是字符串类型

高级数据类型有三种:Bitmaps,HyperLogLog, GEO

1. String字符串(对应Java-String)
  • 存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型

  • 存储数据格式:一个存储空间保存一个数据

  • 存储内容:通常使用字符串,如果字符串以整数的形式展示可以作为数字操作使用

  • 使用场景:大型企业级应用中,分表操作是基本操作,使用多张表存储同类型数据,但是对应的主键 id 必须保证统一性 ,不能重复;使用这个作为主键自增可以确保唯一性

    redis用于控制数据库表主键id,为数据库表主键提供生成策略,保障数据库表的主键唯一性
    在这里插入图片描述

2. Hash哈希散列列表(对应Java-HashMap)
  • 存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息

  • 需要的存储结构:一个存储空间保存多个键值对数据

  • hash类型:底层使用哈希表结构实现数据存储

  • 使用场景: 电商网站购物车设计与实现;应用于抢购,限购类、限量发放优惠卷、激活码等业务的数据存储设计

  1. hash类型下的value只能存储字符串,不允许存储其他数据类型,不存在嵌套现象。如果数据未获取到,对应值为null
  2. 每个hash可以存储2的32次方减1个键值对

在这里插入图片描述

3. List列表(对应Java-LinkedList)
  • 数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分
  • 需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序
  • list类型:保存多个数据,底层使用双向链表存储结构实现
  • 业务场景:朋友圈点赞,按照点赞顺序显示点赞好友信息;应用于具有操作先后顺序的数据控制

在这里插入图片描述

4. Set集合(对应Java-HashSet)
  • 新的存储需求:存储大量的数据,在查询方面提供更高的效率

  • 需要的存储结构:能够保存大量的数据,高效的内部存储机制,便于查询

  • set类型:与hash存储结构完全相同,仅存储键,不存储值(nil),并且值是不允许重复的

  • 应用场景:应用于随机推荐类信息检索,例如热点歌单推荐,热点新闻推荐,热卖旅游线路,应用APP推荐, 大V推荐等;应用于同类型数据的快速去重

在这里插入图片描述

5. SortedSet(对应Java-TreeSet)
  • 新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式
  • 需要的存储结构:新的存储模型,可以保存可排序的数据
  • sorted_set类型࿱
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值