手把手教你如何玩转Redis入门

情景引入

小白:起床起床,,快快快快起床。。。
我: 怎么了就。。。又大惊小怪的。
小白:我发现mysql数据库的存储形式好单一。
我: 本身它就是这样进行设计的,要不然为什么要叫它关系型数据库呢?要不然它的底层怎么进行索引处理以及查询优化呢?
小白: 那有没有什么其他的数据库是非关系的呢?
我: 你说到这个的话,你的意思是指NoSQL吗?
小白: 咦,好像听说过这个名词。。是不是最近挺火的呢。
我: 是的,NoSQL就是一种新型的存储方式的数据库,它与mysql这种数据库的存储方式还是存在很多的区别的。
小白: 那redis是否是属于这一种NoSQL呢?
我: 对的,redis就是其中的代表之一。当然,还有很多其他的啦。
小白: 哇塞,,那你给我讲讲这块的知识呗。我想学,我想学。。。
我: 好吧。看着你这样积极,我又来给你上一课。好好听哦~!
小白: 好的,小板凳已经搬来了~

情景分析

在现在技术的飞速发展中,越来越多的新兴技术发展起来,这也正是催促着我们不断学习的动力。在上面小白说的想解决Mysql这类关系型数据库的弊端来说,一种NoSQL数据库确实可以弥补它的存储单一的问题。但是,我们要记住,它们两者之后都有好坏,优势和弊端,这完全要基于我们的使用场景来进行分析的哦。在这篇博文中,我就主要带大家进行redis数据库的入门学习。

什么叫做NoSQL?

关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而nosql数据 库是基于特殊的结构,并将数据存储到内存的数据库。从性能上而言,nosql数据库 要优于关系型数据库,从安全性上而言关系型数据库要优于nosql数据库,所以在实 际开发中一个项目中nosql和关系型数据库会一起使用,达到性能和安全性的双保证。
NoSQL(NoSQL = Not Only SQL ),意即”不仅仅是SQL”。
在现代的计算系统上每天网络上都会产生庞大的数据量。
这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理。 1970年 E.F.Codd’s提出的关系模型的论文 “A relational model of data for large shared data banks”,这使得数据建模和应用程序编程更加简单。
通过应用实践证明,关系模型是非常适合于客户服务器编程,远远超出预期的利益,今天它是结构化数据存储在网络和商务应用的主导技术。
NoSQL 是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

为什么要使用Nosql?

今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很好的处理这些大的数据。

RDBMS和Nosql之间的对比

RDBMS
- 高度组织化结构化数据
- 结构化查询语言(SQL) (SQL)
- 数据和关系都存储在单独的表中。
- 数据操纵语言,数据定义语言
- 严格的一致性
- 基础事务

NoSQL
- 代表着不仅仅是SQL
- 没有声明性查询语言
- 没有预定义的模式
-键 - 值对存储,列存储,文档存储,图形数据库
- 最终一致性,而非ACID属性
- 非结构化和不可预知的数据
- CAP定理
- 高性能,高可用性和可伸缩性

Nosql数据库分类

这里写图片描述

Redis简介

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

(一)Linux环境安装redis

说明:为什么要把redis安装在linux系统中呢?

对于redis来说的话,我们一般都是安装在linux环境中,主要是根据它的作用来的。试想,我们的服务一般都是部署在linux环境当中,这样也比较安全和运行效率高。所以,针对这样的原因,非常不介意把redis用于windows环境,当然,如果你想这样做也是可以的,可以下载windows中操作redis的界面工具即可。但是在这里的话,我主要是介绍说明,如何在linux环境安装redis哦!

环境:linux(ubuntu系统)

说明:
(1)因为,我自身习惯用了Ubuntu系统,所以,这里主要介绍的就是安装在这样的系统当中。如果你喜欢用Centos系统也当然是没问题的(只是安装的命令中,有些地方不是一样),换汤不换药嘛。
(2)我这里是讲解直接在linux系统的电脑上进行的操作哦。如果你有linux的云系统,那么就需要在windows系统中用到SSH工具,连接你的云系统即可。操作都是类似的,只不过,我这里拷贝文件什么的都可以直接进行,而你们就需要用到文件传输工具(比如:filezilla工具)传到linux系统而已。这都是基本操作了,就不属于我的讲解,如果不是很明白,欢迎查看我的另外一篇博文。
https://blog.csdn.net/cs_hnu_scw/article/details/79125582

步骤:

  1. 将redis安装包,拷贝到linux系统。(这个安装包,我会在最后和源代码一起进行打包放在云盘中)
  2. 解压我们刚刚上传的压缩包
    通过命令:tar -xvf redis-3.0.0tar.gz ——-如果你需要指定目录,那么后面再添加目录的路径即可。我这样的话,就是直接默认解压到和我压缩包目录一样的地方。
  3. 在linux系统中,安装C/C++编译环境。
    说明:为什么安装redis要按照C/C++环境呢?因为redis是主要通过C语言进行编写和编译的,里面有很多都是基于C的环境,所以必须确保我们的系统中有这样的环境,如果没有的话,在后面的编译redis中会出现问题。
    通过命令:
sudo apt-get install vim g++ openssh-server libgl1-mesa-dev
  1. 进入我们压缩后的redis文件目录下,并直接执行命令:make
    一定要确保是在这个解压后的目录并且linux系统有C编译环境,运行上面的编译命令,否则会出错
  2. 继续再该目录下面运行下面的命令:
make PREFIX=/home/scw/scw/redis/redisdown install

说明:这其中的/home/scw/scw/redis/redisdown 是我需要把redis存放的目录,所以,这个完全由你们自己决定放在哪即可。
6.拷贝我们解压文件目录中的redis.conf文件到redis安装目录的bin文件目录下(也就是第五步中我们设置的目录中后生成的bin文件下面)。
- 修改redis.conf文件中的下面内容
说明:修改这个内容主要是因为避免我们像通过命令行运行tomcat一样,运行了那个命令行就不能继续执行其他的操作了。所以,通过修改下面的内容,可以让redis运行之后处于后台运行状态,这样就可以继续操作这个终端窗口。
当然,大家可以对比一下,不修改和修改的区别!!!!

redis.conf文件中的daemonize从no修改成yes表示后台启动
  • 在redis的文件下的bin目录中运行下面的命令:
./redis-server redis.conf

说明:通过这个命令,如果安装顺利的话,那么就可以显示redis启动成功了。
- 通过下面的命令可以查看是否redis安装成功:

ps -ef |grep redis

说明:如果是开启的话,那么就会显示redis服务对应的启动窗口的端口号等信息。
- 另外,还可以通过允许redis客户端的方式来判断是否启动成功。
通过命令开启redis客户端(同理:还是在开启服务的那么bin目录下面执行):

./redis-cli

说明:当我们执行完这个命令之后,我们在命令行中就会看到类似下面的这样的语句:

127.0.0.1:6379>

说明:这就表示我们进行了客户端啦,,那么我们就可以进行我们后续的操作了。
比如执行:

set name scw
然后
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值