1 -「季淳卿」 Redis基本介绍和String练习

Redis 简介

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨台的非关系型数据库。
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势

性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。

  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis 背景

  • 业务逻辑部分 - Java 业务源码部分
  • 数据库存储部分-数据库(Mysql,Oracle) - > 硬盘
  • 一般来说用户发起一个对于软件的访问,首先会访问到业务逻辑部分(由java源码部分或其他源码部分构成)的页面,然后由这个逻辑去数据库当中去查找数据显示给用户进行操作

(硬盘)磁盘的工作原理

转载-硬盘内部硬件结构和工作原理详解

  • 硬盘是磁盘中的一种,软盘也是磁盘
  • 磁盘就是通过磁性进行读写功能的设备,断电后保存的文件不会丢失
  • 内存也可以储存,但存储的载体和磁盘不同,断电后就不能保存数据
    在这里插入图片描述
硬盘的内部物理结构

硬盘的内部结构通常专指盘体的内部结构。盘体是一个密封的腔体,里面密封着磁头、盘片(磁片、碟片)磁头臂、音圈马达等部件,如图:磁盘内部物理结构

硬盘存储的逻辑结构
  1. 盘面号
    硬盘的盘片一般用铝合金材料做基片,高速硬盘也可能用玻璃做基片
  2. 磁道
    磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道(Track)
  3. 柱面
    所有盘面上的同一磁道构成一个圆柱,通常称做柱面(Cylinder),每个圆柱上的磁头由上而下从“0”开始编号
  4. 扇区
    操作系统以扇区(Sector)形式将信息存储在硬盘上,每个扇区包括512个字节的数据和一些其他信息。一个扇区有两个主要部分:存储数据地点的标识符和存储数据的数据段,如图:
    在这里插入图片描述
    在这里插入图片描述

  5. 将物理相邻的若干个扇区称为了一个簇。操作系统读写磁盘的基本单位是扇区,而文件系统的基本单位是簇(Cluster)。
磁盘读写数据花费的时间

保存数据到扇区上,或者从扇区读取数据,具体过程(磁盘怎样工作)如下:

  • 寻道时间
    寻道时间,就是磁臂移动到指定磁道所需要的时间

  • 旋转延迟
    旋转延迟指的是把扇区移动到磁头下面的时间。这个时间和驱动器的转数有关,我们通常所说的7200转的硬盘的转(最高可以旋转7200,转速越高性能越好)就是这个。
    平均旋转延迟=1/(2转数每秒)
    比如7200转的硬盘的平均旋转延迟等于1/2
    120≈4.17ms
    旋转延迟只和硬件有关。

  • 传输时间
    传输时间指的是从磁盘读出或将数据写入磁盘的时间。

  • 机械臂通常情况下,不工作的时候是停留在磁盘以外,当它接收到读取数据的请求后,机械臂就会去找数据,转动到磁盘上的某一个扇区区域

  • 当它发现这个扇区没有数据,磁盘中央的音圈马达开始启动旋转磁盘,当查找完外圈磁道的所有扇区还没有找到数据的时候,磁头就会再次往里层,它的停留点就会往下一个磁道停留,之道提取到这个数据,扫描后返回(正常情况下面磁头不会已停留就到我们保存数据的地方,一般要旋转一下)。

  • Input - Output 读取数据的过程可以称为 - IO

  • 现在物理空间运行起来必须要的一个过程,当我们把数据保存在数据库的时候,数据库的数据实际上是保存在硬盘上面,所以在现阶段大型的分布式的用户量非常多的软件系统里面, 有时候直接发起一个访问的话,如果直接去数据库上面提取数据,在返回给用户就会感觉很慢。

  • 虽然说慢,但是也要在一定的场景下,这个时候要解决这个问题

  • 电脑有哪些部分可以存储数据的(硬盘、内存)

  • CPU在一定单位时间内需要处理大量的数据,如果每次从硬盘上去读取的话,显然它的性能会降低(收到很大的限制),本身它的运算能力是每秒多少个G,运算速度是非常快的,CPU里面

  • CPU详细介绍-以下内容转载

  • CPU缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。CPU高速缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可先缓存中调用,从而加快读取速度。

  • 内存是高速缓存(L1)的一个补充

  • CPU高速缓存是为了解决CPU速率和主存访问速率差距过大问题。
    在这里插入图片描述

什么是高速缓存
  • 高速缓存(Cache),全称“高速缓冲存储器”。
  • 例如:当CPU处理数据时,它会先到高速缓存中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从主内存中读取数据–由于CPU的运行速度一般比主内存快,因此若要经常存取主内存的话,就必须等待数个CPU周期从而造成浪费。
  • 提供“高速缓存”的目的是为了让数据存取的速度适应CPU的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”。
  • 现在Cache的概念已经被扩充了:不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘高速缓存),乃至在硬盘与网络之间也有某种意义上的“Cache”(Internet临时文件夹)。
  • 凡是位于速度相差较大的两种硬件之间的,用于协调两者数据传输速度差异的结构,均可称之为Cache。
  • 所以硬盘和内存之间的Cache就叫做磁盘高速缓存。它是在内存中开辟一块位置,来临时存取硬盘中的数据。这项技术可使计算机读写时的存储系统平均数据传输率提高5-10倍,适应了当前激增的海量数据存储需求。
存储器层次结构

浅析CPU高速缓存(cache)详细介绍
在这里插入图片描述

  • 于是乎就有前辈开发了基于内存的数据库Redis

Redis 字符串(String)

Redis-x64-3.2.100 压缩包:
链接:https://pan.baidu.com/s/14fzXRs2eg2fWcXlKbtSsmw
提取码:tgcf

解压后如下:
.rdb后缀 是保存数据的文件 (还没有使用过的是没有这个文件)
在这里插入图片描述
.conf 是Redis运行起来的配置文件
在这里插入图片描述
这里打开 redis.windows-service.conf
在这里插入图片描述

  • bind:运行的ip地址
  • port:默认启动的端口
  • save:多久保存到磁盘上一次(最开始运行在内存里面,如果出现意外情况,内存中的数据就会丢失,只有数据保存在磁盘上就不会丢失)

启动Redis

运行:第一步:打开redis的服务端:如下
在这里插入图片描述
在这里插入图片描述

第二步:打开客服端(需要注意直接打开客服端会报错)
在这里插入图片描述
在这里插入图片描述
第一个接触是String类型 (命名字母大写是规范,我为了方便记忆小写)

String 命令描述
set key value设置指定 key 值 (存值)
get key value获取指定 key 值 (取值)
mset key value设置一条或多条 key 值 (存)
mget key value获取一条或多条 key 值 (取)
setnx key valuekey 值存在不保存,不存在则保存(不重复设置)
setex key seconds命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值
incr key将 key 中储存的数字值增一 (自增)
decr key将 key 中储存的数字值减一 (自减)
incrby key将 key 中储存的数字增加指定数值
decrby key将 key 中储存的数字减少指定数值

实际操作

  1. set
    在这里插入图片描述

  2. get
    在这里插入图片描述

  3. mset
    在这里插入图片描述

  4. mget
    在这里插入图片描述

  5. setnx

  6. setex
    Redis ttl 命令以秒为单位返回 key 的剩余过期时间
    在这里插入图片描述

  7. incr
    在这里插入图片描述

  8. decr
    在这里插入图片描述

  9. incrby (10+8=18 就是加法)

在这里插入图片描述

  1. decrby(做减法)
    在这里插入图片描述
    今天学习结束啦✿✿ヽ(°▽°)ノ✿

有什么问题欢迎大家提出来,一起进步

世界灿烂盛大,欢迎回家 —— 《全球高考》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

季淳卿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值