Redis

Redis(NoSQL)

1.定义

NoSQL: (Not-Only SQL) 非关系型数据库,走内存而非磁盘,性能高
Redis:

  1. 数据之间没有必然联系
  2. 内部采用单线程机制
  3. 高性能(相对于SQL)
  4. 多数据类型支持:String,List,Hash,Set,zSet
  5. redis都是key:value格式,Key永远是String,value对应五种数据结构

Redis应用场景:
6. 热点数据加速查询
7. 及时信息查询
8. 实效信息
9. 分布式数据共享
10. 消息队列

2.数据类型

数据类型指的是Value部分,Key永远是字符串

2.1 String
  1. 存储单个数据,最简单最常用.
  2. 一个存储空间保存一个数据.
  3. 通常是字符串,如果字符串以整数形式展示可以作为数字操作.
  4. 最大存储容量:512MB
  5. 大V的粉丝显示等应用
    在这里插入图片描述
2.2 Hash

(可以理解成一个key连着一个Map,但不是Map)

  1. 对一系列存储的数据进行编组,方便管理,典型应用:存储对象信息
  2. 一个存储空间保存多个键值对数据
  3. 可以灵活添加和删除对象属性,并不是为了大量存储.
  4. 底层使用哈希表结构实现数据存储,所以存储无序.
  5. 最大存储容量:2的(232-1)次方个键值对
  6. 商家,商品,数量的高频操作等应用
    在这里插入图片描述
2.3List
  1. 底层是一个双链表,可以实现双向队列的操作.
  2. 存储需求:存储多个数据,并对数据进入存储空间的顺序有要求
  3. list有索引,但操作数据时经常以队列的形式
  4. 最大容量:2的(232-1)次方个元素
  5. 日志的合并
    在这里插入图片描述
2.4 Set
  1. 存储大量的数据,在查询方面提高效率
  2. 能够保存大量的数据,搞笑的内部存储机制,便于查询
  3. 只存储键不存储值
  4. 应用于黑名单,白名单
    在这里插入图片描述
    交集,并集,差集
Jedis(IDEA连接redis)

基础连接

Jedis jedis = new Jedis("localhost", 6379);
jedis.set("name", "itheima");  jedis.get("name");
jedis.close();

连接池

持久化

由于Redis是基于内存的,所以需要持久化

RDB

优点:

  1. RDB是紧凑压缩的二进制文件,存储效率较高
  2. RDB存储的是redis的快照,所以恢复数据快,适合数据备份
  3. 应用:服务器每小时执行bgsave备份,拷贝到远程机器
    缺点
  4. RDB无法做到实时持久化
  5. bgsave每次运行要执行fork操作创建子进程,所以会消耗性能
  6. redis的版本中RDB文件格式版本未统一,可能出现各版本数据格式不兼容
AOF

优点:

  1. AOF存储的是执行,且有效的语句,所以存储速度快.
  2. 相对RDB可以实时存储
  3. 资源消耗低
    缺点:
  4. 存储空间大
  5. 由于存储的是语句,所以恢复慢
RDB与AOF对比

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值