Rhythmli's blog Rhythmli's blog
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Rhythmli

知识就是财富
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 技术文档

  • GitHub技巧

  • Nodejs

  • 博客搭建

  • CSDN迁移

    • Spring IOC
    • Ngnix 阿里云
    • 最长回文子串
    • 面试题xuexixiexue
    • 哈希集合和哈希映射的简单设计
    • leetcode2021.11.03
    • Leetcode2021.11.2
    • JUC学习
    • 869. 重新排序得到 2 的幂
    • Java自动装箱拆箱
    • 55. 跳跃游戏
    • 剑指 Offer II 085. 生成匹配的括号
    • 300. 最长递增子序列
    • Java并发编程之美 01
    • 134. 加油站
    • 139. 单词拆分
    • 岛屿类问题题解
    • 138. 复制带随机指针的链表
    • 347. 前 K 个高频元素
    • 剑指 Offer II 026. 重排链表
    • 剑指 Offer II 025. 链表中的两数相加
    • 剑指 Offer II 014. 字符串中的变位词
    • 剑指 Offer II 010. 和为 k 的子数组
    • 剑指 Offer II 009. 乘积小于 K 的子数组
    • 剑指 Offer II 008. 和大于等于 target 的最短子数组
    • 剑指 Offer II 007. 数组中和为 0 的三个数
    • 剑指 Offer II 006. 排序数组中两个数字之和
    • 剑指 Offer II 002. 二进制加法
    • 129. 求根节点到叶节点数字之和
    • 113.路径总和 II
    • leetcode18. 四数之和
    • 编译OpenCV 以及 openc_contrib 提示缺少boostdesc_bgm.i文件出错的解决
    • fork()浅学习
    • SSM 增删改查
    • springmvc helloworld
    • Spring01 hello实验
    • 树的DFS和BFS
    • leetcode——二分法
    • Halo博客搭建
    • 计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接---转载
    • opencv+python+OpenPose姿态实时识别
    • 03.KNN算法 李航统计学习方法
    • 02.感知机 李航统计学习方法
    • 01.最小二乘法拟合 李航统计学习方法
    • Pycharm atplotlib.pyplot图像不显示解决方法
    • 论文阅读01 SVM+kNN图像分类
    • Java简单实现计算器——用数组实现栈
    • 【剑指Offer3】无重复字符的最长子串
    • 【剑指Offer5】最长回文字符串
    • TF-IDF求取文本相似度
    • JAVA_day02
    • JAVA_day01
    • 递归产生回文数
    • 中国象棋QT登录注册以及悔棋功能
    • STM32F4学习笔记(基础介绍篇)
    • leetcode_04 递归,回溯与分治
    • leetcode03_贪心算法
    • leetcode01--链表
    • leetcode_02栈
    • Docker学习入门
    • C/C++编译与链接 程序员的自我修养:链接 装载和库
    • Nginx简单学习
    • JAVA网络编程
    • JVM初步学习
    • Spring简单学习
    • 标准项目格式
    • 设计模式中的几个原则
    • Redis和IDEA简单创建及增删改查
    • Mybatis快速入门01
    • Redis全程学习笔记(附带学习的视频教程)
      • Redis全程学习笔记(附带学习的视频教程)
        • Nosql概述(读和写)
        • Redis入门
        • redis-benchmark 测试性能
        • Redis基础知识
        • 地理位置
        • 事务
        • 锁
        • Redis.conf
        • Redis 持久化 RDB
        • Redis 持久化 AOF
        • 订阅
        • 主从复制之复制原理
        • 哨兵模式
        • Redis缓存穿透与雪崩
    • QT入门学习中最基础的那些事儿
    • QT中文输出错误问题:C2001
    • OOP:面向对象编程
    • LINUX常用命令集合(待续)
    • 《C和指针》简单学习笔记
    • 二叉树,栈存储及遍历小程序
    • 数据结构简单学习笔记
    • 扑克牌
    • C++动态内存和智能指针
    • 设计模式之简单工厂模式
    • leetcode_01数组
    • 嵌入式Linux移植应用
    • LINUX 进程与线程 信号量 通信
  • 技术
  • CSDN迁移
梁山话事人
最新推荐文章2026-08-05
目录

Redis全程学习笔记(附带学习的视频教程)

原文链接:https://blog.csdn.net/qq_39355828/article/details/111997772 (opens new window)

# Redis全程学习笔记(附带学习的视频教程)

学习的视频地址 https://www.bilibili.com/video/BV1S54y1R7SB?p=13&t=75 狂神说大佬

# Nosql概述(读和写)

1一般数据库无法进行分析和处理,APP->DAL ->Mysql

1.数据量太大 ,一个机器放不下

2.数据索引(B+ Tree),一个机器存不下

3.访问量(读写混合),一个服务器受不了

在这里插入图片描述

2.缓存+Mysql+垂直切分(读写分离)

优化数据结构和索引 ->文件缓存(IO)->Memcached(缓存技术)

使用缓存来减轻压力

3.分库分表+水平拆分+MySQL集群

在这里插入图片描述

4.现在:

数据多样化,

在这里插入图片描述

为什么要用NoSQL

用户个人信息 社交网络 地理位置 用户自己产生的数据 用户日志增加

NoSQL=not only SQL

泛指非关系数据库

1.方便扩展(数据间没有关系)

2.大数据高性能(Redis每秒写8万次,读取11万次)

3.数据类型是多样性(不需要事先设计数据库)

4.传统RDBMS和NoSQL

RDBMS
-结构化数据
-SQL
-数据和关系存在单独的表中
-基础事务
1
2
3
4
5
Nosql
-不仅仅是数据
-没有固定的查询语言
-键值对存储 列存储
-最终一致性
-CAP定理和BASE
-高性能 高可用 高扩展
1
2
3
4
5
6
7
大数据时代的3V:主要是描述问题的
海量Volume
多样Variety
实时Velocity
大数据时代的3高:主要是对程序的要求
高并发
高可扩
高性能
1
2
3
4
5
6
7
8

阿里巴巴演进分析

在这里插入图片描述

Nosql 四大类

KV 键值对

新浪 radis

美团:Redis+Tair

阿里,百度云:Radis+memecache

文档型数据库

MongoDB: 分布式文件存储数据库,处理大量文档

列存储数据库

HBase

在这里插入图片描述

# Redis入门

Redis 远程字典服务(C语言书写)支持常用语言接口

1.内存存储,持久

2.效率高,高速缓存

3.发布订阅系统

4.地图信息分析

$ wget http://download.redis.io/releases/redis-4.0.11.tar.gz
$ tar xzf redis-2.8.17.tar.gz
$ cd redis-2.8.17
$ make
1
2
3
4

make完后 redis-4.0.11目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:

下面启动redis服务.

$ cd src
$ ./redis-server
1
2

注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。

$ cd src
$ ./redis-server redis.conf
1
2

# redis-benchmark 测试性能

#测试并发连接 100个并发连接 100000 请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
打开Redis-server,使用ping测试连接,然后新的终端测试命令
1
2
3

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TBp7ePun-1609331168018)(C:\Users\123\Desktop\Snipaste_2020-12-30_12-01-24.png)]

所有请求49毫秒内处理完成

# Redis基础知识

默认16个数据库,select 切换数据库 DBSIZE 数据大小 keys* 查看所有的key

select 切换数据库
DBSIZE 数据大小
keys* 查看所有的key
flushdb 清空当前数据库
FLUSHALL 清空全部数据库
EXISTS 判断当前的Key值是否存在
redis-srever kconfig/redis.conig
1
2
3
4
5
6
7

Redis 单线程,由于机器内存和网络限制。

1.高线程服务器不一定是多线程

redis 数据放在内存中,没有上下文切换

Redis 5大基本数据类型

1.String(字符串)

在这里插入图片描述

type key 查看key的类型

set
1

在这里插入图片描述

在这里插入图片描述

mest: 同时设置多个值

在这里插入图片描述

2.List

方便实现数组的左加和右加 队列和栈

在这里插入图片描述

​ LPOP RPOP 数组移除

  1. SET

在这里插入图片描述

Hash(哈希)

Map集合

Zset(有序集合)

在这里插入图片描述

# 地理位置

在这里插入图片描述

Hyperloglog

什么是基数

两个集合中不重复的元素

在这里插入图片描述

BItmap

在这里插入图片描述

# 事务

Redis 单条命令保持原子型,但是事务不保证原子性

Redis 事务本质:一组命令的集合,一个事务中所有命令都会被序列化 按照顺序一次性,顺序性 排他性 执行命令

redis事务

开启事务(mukti)

命令入队

执行事务(exec)

在这里插入图片描述

代码出错 所有命令都不会被执行

运行时异常 会运行正确的代码

!在这里插入图片描述

# 锁

1.悲观锁

什么时候都会出问题,无论什么时候都加锁

2.乐观锁

认为什么时候都不会出问题

在这里插入图片描述

Jedis

Redis 官方推荐连接开发工具

导入jar包 运行

import redis.clients.jedis.Jedis;

public class TestRedis {
    public static void main(String[] args) {
        //连接本地的 Redis 服务
        Jedis jedis = new Jedis("localhost");
        System.out.println("连接成功");
        //设置 redis 字符串数据
        jedis.set("runoobkey", "www.runoob.com");
        // 获取存储的数据并输出
        System.out.println("redis 存储的字符串为: "+ jedis.get("runoobkey"));
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13

# Redis.conf

在这里插入图片描述

# Redis 持久化 RDB

Redis 内存型数据库,

在这里插入图片描述

备份自动生成

在这里插入图片描述

# Redis 持久化 AOF

在这里插入图片描述

# 订阅

在这里插入图片描述

在这里插入图片描述

# 主从复制之复制原理

在这里插入图片描述

在这里插入图片描述

# 哨兵模式

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

# Redis缓存穿透与雪崩

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

编辑 (opens new window)
#JAVA#订阅专栏#查看详情
上次更新: 2026/08/11, 13:36:18
Mybatis快速入门01
QT入门学习中最基础的那些事儿

← Mybatis快速入门01 QT入门学习中最基础的那些事儿→

最近更新
01
Spring IOC
03-31
02
Git修改分支名
08-11
03
CSS给table的tbody添加滚动条
06-29
更多文章>
Theme by Vdoing | Copyright © 2019-2026 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式