介绍Redis

Redis是一款高性能的key-value型数据库,常用于缓存、高并发读写和分布式架构。它采用单线程模型和io多路复用技术,提供string、list、set、zset和hash等数据结构。Redis支持原子性操作,通过rdb和aof两种方式进行持久化,确保数据安全。其主从复制机制用于读写分离和容灾恢复。虽然不支持SQL和事务,但在需要高读写速度和简单数据结构的场景中表现出色。
摘要由CSDN通过智能技术生成

Redis

Redis基础知识

  1. 端口:6379

  2. 默认16个数据库,下标从0开始

  3. 单线程:redis是单线程+io多路复用:检查文件描述的就绪状态

1、为什么使用

  1. 解决应用服务器的cpu和内存压力

  2. 减少io的读操作,减轻io的压力

  3. 关系型数据库的扩展性不强,难以改变表结构

2、优点:

  1. nosql数据库没有关联关系,数据结构简单,拓展表比较容易

  2. nosql读取速度快,对较大数据处理快

3、适用场景:

  1. 数据高并发的读写

  2. 海量数据的读写

  3. 对扩展性要求高的数据

4、不适场景:

  1. 需要事务支持(非关系型数据库)

  2. 基于sql结构化查询储存,关系复杂

5、Redis结构:

Redis是一个开源的key—value型数据库,支持string、list、set、zset和hash类型数据。对这些数据的操作都是原子性的,redus为了保证效率会定期持久化数据。

6、使用场景:

  1. 配合关系型数据库做高速缓存

  • 缓存高频次访问的数据,降低数据库io

  • 分布式架构,做session共享

  1. 可以持久化特定数据。

  • 利用zset类型可以存储排行榜

  • 利用list的自然时间排序存储最新n个数据

7.redis持久化:两种方式:rdb(redis database)和aof(append of file)

RDB:在指定时间间隔内,将内存中的数据作为一个快照文件(snapshot)写入到磁盘,读取的时候也是直接读取snapshot文件到内存中

AOF : 以日志形式记录每个写操作,启动时通过日志恢复操作

8.Redis事务:输入multi,输入的命令都会依次进入到队列中,但不会执行,直到输入exec,redis会将之前命令队列中的命令依次执行,通过discard可以放弃组队。

  1. 主要作用:序列化操作,串联多个命令防止别的命令插队

  2. 悲观锁:每次拿到数据的时候都会上锁,或者等待别人处理完再去拿锁,传统的关系型数据库里边很多用到了这种锁机制,比如行锁、表锁、读锁、写锁

  3. 乐观锁:每次拿数据的时候总认为别人不会修改数据,所以不会上锁。但是更新的时候回去判断别人有没有更改数据,使用版本号机制。乐观锁适用于多读的应用类型,可以提高吞吐量。

  4. Redis使用乐观锁:redis就是利用check-and-set机制实现事务

  5. 三大特性:

    1. 单独的隔离操作:事务中的所有命令都会序列化,按顺序执行。不会被其他客户端打断

    2. 没有隔离级别概念:队列中的命令没有提交之前不会被执行,事务外不能查看事务内的更新

    3. 不能保证原子性:跳过错误,依旧执行,没有回滚

9.Redis主从复制:

  1. 是什么:主从复制就是主机数据更新后根据配置和策略,自动同步到备份机的master/slaver机制,master写为主,slave读为主

  2. 用处:

    1. 读写分离,性能拓展。

    2. 容灾快速恢复

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值