redis入门第一篇-------redis的介绍与安装启动redis
前言
现在开始了学习redis的过程。在学习一个新事物之前我们一定要问清楚自己为什么要学,以及要学到什么程度,带有很强的目的性的学习才不会轻易放弃。
系统性学习的途径最好就是买书来啃,当然也可以看相关的视频
什么是redis
redis是一种实现NoSql的、存在内存中的非关系型数据库,通过将一些高访问量的数据存放在redis中可以减少对数据库的IO访问,以提高系统性能。
redis特点
-
key,value型的数据库,支持String、list、set、zset、hash的数据类型
-
可持久化,可以将内存中redis的数据在合适的时间存入到磁盘的数据库中
-
可支持一些简单的事务
为什么要使用redis
由于互联网的普及,一个中大型的网站每天都有高访问和高并发的情况,因此现在普遍采用了分布式的架构,即使用多个应用服务器处理用户请求,由负载均衡 (nginx服务器) 决定请求交由哪个服务器处理。
但这样依然会导致几个问题:
- B服务器中存放了客户的session,下次负载均衡分给了A服务器处理,而A服务器没有客户的session;
- 一些非核心功能如点赞会导致频繁地读写数据库,但该功能对数据库的一致性要求不高。
此时我们便可使用内存中的redis了,在redis中存放session以及一些频繁访问到的数据(如点赞数,如首页最新的十篇文章),可减少对数据库的IO次数,提高性能;而redis可选择在访问量少的情况下将数据写入磁盘数据库中。
什么场景使用redis
-
手机验证码
我们可以将手机验证码放入redis中,并设置好有效时限 -
分布式系统中的session共享
将session放入redis中,服务器先从redis中取出session;若redis中没有则去数据库中找到,接着存入redis,最后再返回请求给用户。 -
电商的秒杀系统
将商品的剩余量存入redis中,每次抢到就减一 -
最新的N个数据
比如微博会展示最新的10条动态,用户访问首页直接从redis中获取数据 -
实现点赞功能
一片热门文章的点赞通常会很频繁,存入redis可以大大减少对磁盘数据库的操作
以上的场景使用mysql都是可以实现的,但因为redis是存放在内存中的,读取速度比对磁盘进行IO要快的多,因此使用redis实现可以明显地提高系统的性能和并发的访问量。
安装使用redis
1、下载redis码源压缩包
进入redis官网的下载页面,http://download.redis.io/releases/,本着不求最新,但求稳定的原则,在这里我选择的是3.2.12版本的。
2、解压文件
进入我们下载redis的目录,运行
$ sudo tar -zxvf redis-3.2.12.tar.gz -C /opt
将redis解压到/opt目录下
3、安装redis
在安装前确保你的linux系统安装了gcc和g++运行
$ gcc -v
$ g++ -v
进行查看,若没有安装的话运行
$ sudo apt-get install gcc
$ sudo apt-get install g++
进行安装。
进入上一步解压到的/opt/redis-3.2.12目录下,依次执行
$ sudo make
$ sudo make install
4、运行redis
运行 $ ls /usr/local/bin,我们可以看到有redis-server、redis-cli、redis-benchmark等命令,其中redis-server是启动redis服务的,redis-cli是连接redis的客户端。
我们首先运行
$ redis-server & # '&'是使当前进程在后台运行
使redis服务在后台启动,接着启动
$ redis-cli 客户端,进行ping测试,发出了pong的响应说明连接成功。
要关闭后台运行的redis服务,$ redis-cli shutdown 即可