前言:
Redis数据库中文名为:远程字典服务器,数据库的中一种。Redis是一个非关系型数据库,主要用来做系统的缓存。那么讲到这里,就有几个概念需要弄清楚了。
1、什么叫非关系型数据库。
2、非关系型数据库和关系型数据库区别。
3、缓存是什么?为什么要做缓存?
带着上面的问题,接下来就开始redis进坑之路,争取早日学成归来,迎娶村里的翠花。
非关系型数据库:
了解非关系型数据库之前,我们先举一个例子。有两个小朋友,小胖和小明,他们两个人的信息分别如下:
小胖:8岁,三年级,男,短头发,包子脸,穿红色衣服,喜欢吃面。
小明:9岁,四年级,男,短头发,瓜子脸,穿白色衣服,喜欢吃炸鸡。
用excel把两个人的信息整理出来,应该是这样的:
在Python中用字典整理出来,应该是这样的:
#小胖的个人信息
xiaopang={
"姓名":"小胖",
"年龄":"8岁",
"年级":"三年级",
"性别":"男",
"头发长短":"短",
"脸型":"包子脸",
"衣服颜色":"红色",
"喜欢吃的食物":"面"
}
#小明的个人信息
xiaoming={
"姓名":"小明",
"年龄":"9岁",
"年级":"四年级",
"性别":"男",
"头发长短":"短",
"脸型":"瓜子脸",
"衣服颜色":"白色",
"喜欢吃的食物":"炸鸡"
}
像excel这种用表格存放数据的数据库就是关系型数据库,像Python这种用字典存放数据的数据库就是非关系型数据库。由此可以下一个结论:
关系型数据库的数据是存储在表格中,非关系型数据库的数据是彼此独立存储没有关联,互不影响的。
关系型数据库和非关系型数据库区别:
还是以上面的例子为例:某天小明给小胖取了个花名叫死胖墩,小胖不服,就找老师告状了。老师于是就把小明处分了。由此,小明和小胖的个人信息又各自增加了一项,小胖多了一个外号:死胖墩,小明多了一条处分记录:给同学起外号。
再次用excel把两个人的信息重新整理出来,应该是这样的:
注意灰色框部份,小胖没有处分情况,小明没有外号,但是他们都有同时两个字段处分情况和外号。只是各自是留空的状况。这里可以看出,关系型数据库的一个特点,所有数据格式(字段)都是一致的,数据间的关系就是表中的字段,同一个字段要么大家都有,要么大家都没有。
在Python中用字典重新整理出来,应该是这样的:
注意红色框部份,小明没有外号字段,小胖没有处分情况字段。这就是非关系型数据库的特点:两个人的信息字段可以独自拥用,互不影响。
总结一下:
区别关系型数据库和非关系型数据库,通过区别两者存储数据的方式就可以了。至于什么时候选择关系型数据库,什么时候选择非关系型数据库,需要根据应用场景来选择。一般来说,如果所有数据要求格式保持一致的则选择关系型数据库,如果数据之间的格式无法保持一致的则选择非关系型数据库。无论是关系型数据库还是非关系型数据库,对数据本身来说并不重要,小明的信息不会因为存在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?
,redis数据可以设置数据失效时间。至于为什么可以做到这样的功能,请自行百度。
redis初次体验:
在装有redis的linux系统中输入以下命令进入redis(具体安装过程请自看后面的教程,这里不做赘述),地址为本机,端口为6379,密码为123456:
redis-cli -h 127.0.0.1 -p 6379 -a 123456
再输入以下命令,写入一个key-value:
set xiaomin "9"
查询“xiaomin ”的值:
get xiaomin
以上就是最简单的redis使用体验。如果没有安装redis。或者不会安装redis先不要着急,先把相关概念搞清楚,再循序渐进,慢慢积累。学习是一个十分漫长的过程,需要锲而不舍,孜孜不倦。