对于现在的Java工程师来说,Redis是必备技能。
一、什么是Redis
- Redis是当前最热门的NoSQL数据库之一,是一款内存高速缓存数据库。是用C语言编写而成的基于内存(效率更高)的数据库,支持可持久化。它是一个key-value存储系统(键值存储系统),支持丰富的数据类型,如:String、list、set、zset、hash,这点相较于几年前的热门Memcached有很大优势(Memcached仅支持简单的key-value键值对类型)。Redis可用于缓存,事件发布或订阅,高速队列等场景。
二、为什么使用NoSql
- 随着web2.0时代的到来,面对与日俱增的数据量(大数据时代),普通的关系型数据库(如:Mysql、Oracle等)已经不能满足需求,常常性能打到顶,磁盘爆满,索引存不下等等,这时候我们需要对数据库进行重构,比如主从分离、垂直拆分、水平拆分。当然这些只能缓解一阵子,数据量继续增长,我们不得不引出NOSQL(不仅仅是sql)。
- 通常我们将Nosql数据库放在服务器和关系型数据库之间,来缓解传统数据库的压力,同样这里Redis的高速缓存技术完全能够跟得上我们的速度和需求,再配合传统数据库重构,能够有效地缓解压力。
(借图)垂直拆分
特点
- 高可扩展性
- 分布式计算
- 低成本
- 架构的灵活性,半结构化数据
- 没有复杂的关系
三、ubuntu下安装Redis(以后会补上centos的)
环境:VM虚拟机 + ubuntu18.04
在线安装(我比较喜欢在线安装)
- 打开终端,输入
sudo apt-get install redis-server
,安装完后,Redis服务器会自启动,我们知道Redis的端口是6379(由来跟名模AlessiaMerz有关,直接百度此人,打开一条关于她的新浪博客的信息,如果有惊喜,请给我点个赞哦),执行ps -aux|grep redis
我们可以看到如下内容
后边的ip:端口号,说明服务启动成功 - 快捷启动服务:
sudo redis-server
四、配置
在线安装后的配置文件默认为/etc/redis/redis.conf
,下载安装的则在/usr/local/redis/redis.conf
注意:为了防止出错导致修改不回来,可以先用mkdi、cp
命令先备份一下配置文件
- 执行
sudo vi /etc/redis/redis.conf
- 1、添加密码,默认是不需要密码的(注意如果是阿里云,为了防止被挖矿,还是添加一个),打开vim命令,使用
/requirepass
搜索到单独一行的requirepass,去掉其注释,并在后边加上密码:
例如:requirepass 123456
- 2、redis默认不支持远程连接,想要开启,注释掉
#bind 127.0.0.1
- 3、redis以守护进程运行,最新版的好像都是yes了,检查一遍为妙,想要别的机器访问,需要改为no,命令:
/daemonize
- 4、redis的数据文件和其存储路径分别为:
dbfilename dump.rdb
、dir /var/lib/redis
- 5、配置完成后,我们需要重新启动服务器
sudo service redis-server restart
,以某个配置文件为准重启服务:sudo redis-server 路径
五、启动客户端
客户端redis-cli是跟随服务器一起安装的,直接输入redis-cli -a 密码
进入,Ctrl+C
退出,当然有的小伙伴发现不输入密码也能进去,但是后边的实际性操作会报错。
- 进入成功后,我们用ping测试,如果返回PONG则表示畅通
以上是安装过程,记得第三步开头的小彩蛋哦