redis:redis初识(一)

1、Redis介绍

Redis是一个将数据存储到内存之中的内存数据库。它主要的作用就是可以快速存取。

1.1redis出现的背景

随着互联网+大数据时代的来临,传统的mysql等关系型数据库(数据存储在硬盘之中)已无法满足大型网站日益增长的访问量和数据量,这时就需要有一种能够快速存取数据的组件来缓解数据库服务I/O(input/output输入输出存取)的压力,来解决系统性能上的瓶颈,redis就应运而生。

1.2数据库的发展历史

①数据库类型:单数据库实例

在互联网+大数据时代来临之前,企业的一些内部信息管理系统,一个单个数据库实例就能满足系统的需求

②数据库类型:缓存(memcache/Redis)+单数据库实例

随着系统访问用户的增多,数据量的增大,单个数据库实例已经满足不了系统的读取需求,用这种模型减小数据库的I/O压力,缓存特点:计算机重启之后内存里面的数据都会丢失,也会有持续化缓存,目前第二步还面临着这个问题

③数据库类型:缓存+主从数据库+读写分离

缓存可以缓解系统的读取压力,但是数据量的写入压力持续增大,

④数据库类型:缓存+主从数据库集群+读写分离+分库分表

数据量再次增大,读写分离以后,主数据库的写库压力出现瓶颈、

⑤数据库类型:nosql+主从数据库集群+读写分离+分库分表

互联网+大数据时代来临,关系型数据库不能很好的存取一些并发性高,实时性高的,并且数据格式不固定的数据。
在这里插入图片描述

1.3Redis的发展历程

1.3.1Redis是什么

Redis是一个高性能的,开源的(免费),C语言开发的,键值对存储数据的nosql数据库。
NoSQL: not only sql,泛指非关系型数据库 Redis/MongoDB/Hbase Hadoop
关系型数据库: MySQL、oracle、SqlServer

1.3.2Redis特性

Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
Redis不仅仅支持简单的key-value类型的数据,同时还提供List,set等数据类型。memcached就只支持简单的kv
Redis支持数据的备份

1.3.3Redis的历史

• 2009 年 5 月发布 Redis 初始版本;
• 2012 年发布 Redis 2.6,重构了大量的核心代码,去掉了所有和集群相关的代码;
• 2013 年 11 月发布 Redis 2.8,增加了部分主从复制功能;
• 2015 年 4 月发布 Redis 3.0,增加了集群功能;
• 2017 年 7 月发布 Redis 4.0 ,优化了复制功能和新增了混合持久化;
• 2018 年 10 月发布 Redis 5.0,增加了 Stream 数据类型;
• 2020 年 3-5 月计划发布 Redis 6.0 稳定版。

1.3.4Redis应用场景

点赞(如果放入数据库中update很快,频繁update会占用用大量数据库资源,降低数据库的性能)
秒杀
直播平台在线好友列表
商品排行榜
同步session

2、Redis的安装

2.1在ubantu上面的命令行安装

redis和redis-server区别很小只是版本上的差别
通过终端直接sudo apt-get install redis-server
查看他的版本信息redis-server --version
连接redisredis cli
卸载步骤
在这里插入图片描述

2.2在window上面的安装

Redis也支持win,只需要下载他的压缩包解压之后在里面打开应用程序就好,压缩包可自行下载,或者留言,默认打开是阻塞方式连接不了,这一步先将安装,后面再讲连接
在这里插入图片描述

2.3通过xshell在win上连接ubantu使用make源码安装

为什么要用xshell:上篇项目前导有提过,这里稍微将一下,虚拟机和本机的命令不互通,可以通过xshell将win的代码通过xshell复制到ubantu执行,用make安装指定想安装的版本
第一步: 输入wget http://download.redis.io/releases/redis-6.0.6.tar.gz从哪个网站获得压缩包
在这里插入图片描述
第二步: 输入tar xzf redis-6.0.6.tar.gz解压该压缩包
在这里插入图片描述
第三步: 输入cd redis-6.0.6
第四步: 输入make
安装make
在这里插入图片描述
安装gcc
在这里插入图片描述
出现错误:已经编译过一次,会有冲突
在这里插入图片描述
解决问题:卸载压缩后的文件重新解压
在这里插入图片描述

成功
在这里插入图片描述

3、Redis的配置文件

/etc/redis/redis.conf
当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。
daemonize no 只有将这个守护进程改为yes它的打开方式才不会是堵塞

监听端口号,默认为 6379,如果你设为 0 ,redis 将不在 socket 上监听任何客户端连接。
port 6379

设置数据库的数目。
databases 16015 不能自己创建第17个

根据给定的时间间隔和写入次数将数据保存到磁盘 数据持久化
下面的例子的意思是:
900 秒内如果至少有 1 个 key 的值变化,则保存 保存在硬盘里面
300 秒内如果至少有 10 个 key 的值变化,则保存
60 秒内如果至少有 10000 个 key 的值变化,则保存
 
save 900 1
save 300 10
save 60 10000

Redis默认只允许本地连接,不允许其他机器连接
bind 127.0.0.1 想要被其他用户连接将bind改为0.0.0.0代表所有的ip都可以连接

4、Redis的启动

win和ubantu的区别就是后面是否加.exe

4.1windows的启动

第一步:启动redis服务端
在这里插入图片描述

第二步:连接
在这里插入图片描述

在这里插入图片描述

4.2ubantu的启动

进入redis-5.0.9输入src/redis-server直接开启,这是以阻塞的方式开启
在这里插入图片描述
找到它的配置文件并且通过vim去修改配置文件将守护进程的daemonize no改为daemonize yes
在这里插入图片描述
保存退出
在这里插入图片描述
验证redis是否在后台开启
在这里插入图片描述
连接redis服务器
在这里插入图片描述

4.3在win上连接ubantu的redis

在ubantu中修改配置文件输入vim redis.conf将绑定ip修改为
在这里插入图片描述
修改完成后要通过配置文件开启服务端
在这里插入图片描述
先关闭进程在通过配置文件开启redis服务器kill -9进程号 或者sudo kill -9进程号
在这里插入图片描述
在win中不用开启redis服务器,通过ubantu的redis服务器连接成功
在这里插入图片描述

5、Redis的简单使用

启动redis服务:redis-server
启动服务:sudo service redis-server start
重启服务:sudo service resis-server restart
关闭服务:sudo service redis-server stop
上述命令适用于通过sudo apt install redis-server,不适用于通过make源码安装
dbsize:查看当前数据库的key数量
keys * :查看key的内容
flushdb:清空当前数据库的key的数量
flushall:清空所有库的key(慎用)
exists key 判断key是否存在
select insex:切换数据库

6、补充说明

6.1sudo

如果安装方式是sudo apt-get install redis那么它的启动方式可以直接service redis start

6.2make

如果是通过make源码安装的redis,启动的时候进入该文件下,不通过配置文件启动则是堵塞状态,用的默认方式开启,通过配置文件开启可以修改自己想要开启的状态

6.3验证是否开启redis

方法一:ps -aux | grep redis:检验关于redis的有哪些进程,命令本身也算一条
在这里插入图片描述
方法二:直接连接,如果没有开启服务端,连接不上
在这里插入图片描述

6.4关闭redis服务

方法一:kill -9 PID关闭进程
方法二:直接shutdown关闭服务端,exit退出客户端
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值