清楚redis所有缓存_Redis:基本概念理解和上手体验

前言:

Redis数据库中文名为:远程字典服务器,数据库的中一种。Redis是一个非关系型数据库,主要用来做系统的缓存。那么讲到这里,就有几个概念需要弄清楚了。

1、什么叫非关系型数据库。

2、非关系型数据库和关系型数据库区别。

3、缓存是什么?为什么要做缓存?

带着上面的问题,接下来就开始redis进坑之路,争取早日学成归来,迎娶村里的翠花。

非关系型数据库:

了解非关系型数据库之前,我们先举一个例子。有两个小朋友,小胖和小明,他们两个人的信息分别如下:

小胖:8岁,三年级,男,短头发,包子脸,穿红色衣服,喜欢吃面。
小明:9岁,四年级,男,短头发,瓜子脸,穿白色衣服,喜欢吃炸鸡。

用excel把两个人的信息整理出来,应该是这样的:

d04f11b713c5ae93a6027a122c7ddb42.png

在Python中用字典整理出来,应该是这样的:

#小胖的个人信息
xiaopang={
    "姓名":"小胖",
    "年龄":"8岁",
    "年级":"三年级",
    "性别":"男",
    "头发长短":"短",
    "脸型":"包子脸",
    "衣服颜色":"红色",
    "喜欢吃的食物":"面"
}

#小明的个人信息
xiaoming={
    "姓名":"小明",
    "年龄":"9岁",
    "年级":"四年级",
    "性别":"男",
    "头发长短":"短",
    "脸型":"瓜子脸",
    "衣服颜色":"白色",
    "喜欢吃的食物":"炸鸡"
}

像excel这种用表格存放数据的数据库就是关系型数据库,像Python这种用字典存放数据的数据库就是非关系型数据库。由此可以下一个结论:

关系型数据库的数据是存储在表格中,非关系型数据库的数据是彼此独立存储没有关联,互不影响的。

关系型数据库和非关系型数据库区别:

还是以上面的例子为例:某天小明给小胖取了个花名叫死胖墩,小胖不服,就找老师告状了。老师于是就把小明处分了。由此,小明和小胖的个人信息又各自增加了一项,小胖多了一个外号:死胖墩,小明多了一条处分记录:给同学起外号。

再次用excel把两个人的信息重新整理出来,应该是这样的:

7db3e4b92e29e4f99cf854bf8c8ba02f.png

注意灰色框部份,小胖没有处分情况,小明没有外号,但是他们都有同时两个字段处分情况外号。只是各自是留空的状况。这里可以看出,关系型数据库的一个特点,所有数据格式(字段)都是一致的,数据间的关系就是表中的字段,同一个字段要么大家都有,要么大家都没有。

在Python中用字典重新整理出来,应该是这样的:

8b239fc972eca995a7d8c358de4b5866.png

注意红色框部份,小明没有外号字段,小胖没有处分情况字段。这就是非关系型数据库的特点:两个人的信息字段可以独自拥用,互不影响

总结一下:

区别关系型数据库和非关系型数据库,通过区别两者存储数据的方式就可以了。至于什么时候选择关系型数据库,什么时候选择非关系型数据库,需要根据应用场景来选择。一般来说,如果所有数据要求格式保持一致的则选择关系型数据库,如果数据之间的格式无法保持一致的则选择非关系型数据库。无论是关系型数据库还是非关系型数据库,对数据本身来说并不重要,小明的信息不会因为存在mysql中小明就不是小明了。所以数据的本质是一样的。

redis数据库介绍:

redis是一个非关系型数据库,主要用来存储key-value类型的数据。key-value,可以理解为Python中只有一个字段的字典数据。如:

"name":"xiaoming"

上面就是redis中的一个key-value数据。key为name,value为xiaoming。这种数据一般用来做缓存。比如说,我们通过手机号码注册某些APP的登陆帐号时,我们点击注册后,手机会收到一个六位数纯数字验证码。假设手机号为12345678910,验证码为123456。那么它在redis是就是这样子保存的:

"12345678910":"123456"

用户提交的时候,会把提交的验证码,手机号和redis中的验证码,手机号一一对比,如果都正确则注册成功。如果有一百个用户,redis中则保存一百条像"12345678910":"123456"这样的数据。验证的时候只需要根据手机号查询对应的验证码,然后和上传上来的验证码比较即可。还有一个问题就是,可不可以用mongodb或者mysql做呢?答案是,可以的。只是不适合,或者说:不好用。切记:做软件开发,需要考虑的是好不好而不是能不能的题。

为什么选择redis?

我们注册app登陆帐号时,验证码是有时效的,超过一段时间就会失效,这样设计的目的就是为了防止用户长时间不操作,或者拿他人手机注册这类问题。验证码的数据结构很简单(有手机号-验证码),多余的操作也不需要,而且必须在规定的时间内失效。因此选择redis是很适合的,redis数据可以设置数据失效时间。至于为什么可以做到这样的功能,请自行百度。

redis初次体验:

在装有redis的linux系统中输入以下命令进入redis(具体安装过程请自看后面的教程,这里不做赘述),地址为本机,端口为6379,密码为123456:

redis-cli -h 127.0.0.1 -p 6379 -a 123456

5658833a0986817f5fe1c15181635efb.png

再输入以下命令,写入一个key-value:

 set xiaomin "9" 

d3c95f32a92927538f4b09c5e90467de.png

查询“xiaomin ”的值:

get xiaomin 

8b99e8122101d090d1a9f23b69253a0b.png

以上就是最简单的redis使用体验。如果没有安装redis。或者不会安装redis先不要着急,先把相关概念搞清楚,再循序渐进,慢慢积累。学习是一个十分漫长的过程,需要锲而不舍,孜孜不倦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值