wxvirus wxvirus
首页
  • Go文章

    • Go语言学习
  • Rust

    • Rust学习
  • Java

    • 《Java》
  • Python文章

    • Python
  • PHP文章

    • PHP设计模式
  • 学习笔记

    • 《Git》
  • HTML
  • CSS
  • JS
  • 技术文档
  • GitHub技巧
  • 刷题
  • 博客搭建
  • 算法学习
  • 架构设计
  • 设计模式
  • 学习
  • 面试
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

无解的lifecycle

let today = new Beginning()
首页
  • Go文章

    • Go语言学习
  • Rust

    • Rust学习
  • Java

    • 《Java》
  • Python文章

    • Python
  • PHP文章

    • PHP设计模式
  • 学习笔记

    • 《Git》
  • HTML
  • CSS
  • JS
  • 技术文档
  • GitHub技巧
  • 刷题
  • 博客搭建
  • 算法学习
  • 架构设计
  • 设计模式
  • 学习
  • 面试
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • C&C++

  • PHP

  • Python

  • Go

  • microservice

  • rust

  • Java

  • 学习笔记

    • 《Git》学习笔记
    • MySQL基础学习
    • redis基础
      • redis 介绍
        • 优点
      • 典型应用
        • 一、性能
        • 二、并发
      • 安装 redis
    • redis了解
    • MySQL事务并发问题
    • MySQL事务隔离级别
    • 单点登录token与JWT介绍
    • MySQL约束条件
    • redis持久化机制以及缓存过期和淘汰策略
    • redis数据类型
    • consul的raft算法
  • 后端
  • 学习笔记
wxvirus
2021-10-22

redis基础

# redis 介绍

Redis 是一个高性能的key-value数据格式的内存缓存,NoSQL数据库。NoSQL:not only sql,泛指非关系型数据库。

关系型数据库有:MySQL、Oracle、SQL Server、Sqlite

非关系型数据库:redis、hadoop、mangoDB

  • 没有数据表的概念,不用的 nosql 数据库存放数据位置不同
  • nosql 数据库没有通用操作语言
  • 基本不支持事务,redis 支持简单事务

它的存储类型有:

  • string 字符串
  • list 链表
  • set 集合
  • zset (sorted set 有序集合)
  • hash 哈希类型

这些数据类型都支持push/pop、add/remove及取交集并集和差集以及丰富的操作。而且这些操作是原子性的。在此基础上,redis 支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改的操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。redis 是一款基于CS架构的数据库,所以 redis 有客户端,也有服务端。其中,客户端可以使用python等编程语言,也可以使用终端命令行工具。

# 优点

  • 异常快速:redis 是非常快的,每秒可以执行大约 110000 设置操作,81000 个/秒的读取操作
  • 支持丰富的数据类型
  • 原子性:redis 的所有操作都是原子性的,意思就是要么成功执行,要么失败完全不执行。当个操作时原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • redis 是一个多功能实用工具,可以再很多如,消息队列中实用(redis 原生支持发布/订阅)
  • 单线程特性,秒杀系统,基于 redis 是单线程特征,防止出现数据库“爆破”

# 典型应用

# 一、性能

redis 中缓存热点数据,能够保护数据库,提高查询效率。当我们碰到需要执行耗时特别久,且结果不频繁变动的 SQL,就特别适合将运行结果放入缓存,这样,后面的请求就去缓存中读取,使得请求能够迅速响应。

# 二、并发

在大量并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用 redis 做一个缓冲的操作,让请求先访问到 redis,而不是直接访问数据库。

# 安装 redis

  • 系统:Ubuntu
sudo apt-get update
sudo apt-get install redis-server
1
2
  • MacOS

    brew install redis-cli
    
    1
  • windows

    直接去找 redis 的客户端 exe 下载安装就完了。

启动 redis

# 进入到redis安装目录
# linux

# 启动
redis-server  # 服务端

# 查看是否正在运行
redis-cli   # 客户端

# 将会打开一个redis提示符
redis 127.0.0.1:6379>

# 输入 ping
应答:PONG # 说明成功地在计算机上安装了redis
1
2
3
4
5
6
7
8
9
10
11
12
13
14

简单案例

➜  ~ redis-cli
127.0.0.1:6379> set name wujie
OK
127.0.0.1:6379> get name
"wujie"
127.0.0.1:6379>
1
2
3
4
5
6
编辑 (opens new window)
#redis
上次更新: 2021/10/23, 15:40:38
MySQL基础学习
redis了解

← MySQL基础学习 redis了解→

最近更新
01
vue3配合vite初始化项目的一些配置
07-26
02
网盘系统开发学习
07-24
03
linux多进程
06-19
更多文章>
Theme by Vdoing | Copyright © 2021-2024 wxvirus 苏ICP备2021007210号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式