【Redis】Redis开篇与如何安装单机版Redis,这次我会了!!
写在前面
很早之前,就有不少小伙伴微信留言说:冰河,你能不能写一个Redis专栏啊,我最近在学习Redis,看书看不下去,学习视频又觉得视频太长了,还是看你的文章比较给力!哈哈,原来我写的文章能够让小伙伴们有这么强的动力学习啊!终于安排到写【Redis专题】了。今天是【Redis专题】的开篇,写些什么呢?先简单的介绍下Redis并教大家如何在单机环境中安装Redis吧,也算是对【Redis专题】的开篇吧!
如果文章对你有所帮助,请不要吝惜你的点赞、在看、留言和转发,你的支持是我持续创作的最大动力!
Redis介绍
学习一项新技术和一个新的框架之前,大部分的套路都是先对这项技术和框架做一个简单的介绍。这次,我也随波逐流一次吧,对Redis做一个整体的介绍。
基于键值对的存储系统:字典形式。
五种数据结构:字符串(String),Hash(字典),列表(List),集合(Set),有序集合(Sorted Set)。
Redis大部分时间用来做缓存,因为速度快(内存数据库,单线程,单进程,Redis 6.0支持多线程,后面我们会详细讲Redis 6.0的新特性 )。
Redis的使用场景
- 做缓存:String类型最多,其次是hash(字典),value值使用的最多的是json格式。
- 计数(自增):点赞数,点踩数,访问数,全局计数等。
- 消息队列:列表类型,先进先出或者先进后出,bloop。这个可以参考我写的一个开源框架,地址为:https://github.com/sunshinelyz/mykit-delay。
- 发布订阅(观察者模式)
- 排行榜:有序集合
- 分布式锁:可以关注【冰河技术】微信公众号,参考我写的《【高并发】高并发分布式锁架构解密,不是所有的锁都是分布式锁!!》,也可以参考我写的一个分布式锁插件,链接地址为:https://github.com/sunshinelyz/mykit-lock。
- 做附近的人
- 布隆过滤器
- 统计在线人数(Bitmap)等等
以下使用场景也是5大数据类型中的一种:
- BitMaps位图:布隆过滤器 本质是字符串
- HyperLogLog:超小内存唯一值计数,12kb HyperLogLog 本质是 字符串
- GEO:地理信息定位 本质是有序集合
主从复制:主服务器和从服务器,Redis中的数据可以从主服务器同步到从服务器上。
高可用和分布式:
- 2.8版本以后使用redis-sentinel支持高可用(做哨兵)
- 3.0版本以后支持分布式
Redis的安装和启动
这里,我们在CentOS服务器上安装Redis 5.0.7版本。
1.下载安装Redis
#下载
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
#解压
tar -zxvf redis-5.0.7.tar.gz
#建立软连接(生成一个redis文件夹)
ln -s redis-5.0.7 redis
cd redis
make && make install
我们可以在Redis的src目录下看到如下命令。这里,我也对命令的作用进行了简单的说明
#redis-server--->redis服务器
#redis-cli---》redis命令行客户端
#redis-benchmark---》redis性能测试工具
#redis-check-aof--->aof文件修复工具
#redis-check-dump---》rdb文件检查工具
#redis-sentinel---》sentinel服务器,哨兵
值得说明的是:Redis作者对windows维护不好,window自己有安装包。
2.三种启动Redis服务的方式
(1)最简启动法
Redis中最简单的启动方法就是在命令行中直接输入如下命令。
redis-server #只要运行这一条命令服务端就启动了
启动效果如下图所示。
可以通过如下几种命令来查看Redis的运行情况。
ps -ef|grep redis #查看进程
netstat -antpl|grep redis #查看端口
redis-cli -h ip -p port ping #命令查看
(2)动态参数启动法
这里,我们以动态增加Redis的启动端口为例,比如我们将Redis启动后监听的端口设置为6379,如下所示。
#动态参数启动
redis-serve --port 6379 #启动,监听6379端口 默认对应的端口号是6379
这里,我们在Redis启动时,设置了动态端口。当然,我们还可以在Redis启动时,设置其他的动态参数,在【Redis专题】后续的文章中,我们会详细说明Redis的动态参数。
3.配置文件启动法(最常用的启动方式)
Redis启动之后,可以通过redis-cli连接,在服务器命令行输入如下命令可以查询到默认的所有配置。
config get *
配置文件中一些常用的配置参数如下所示。
daemonize --》是否是守护进程启动(no|yes)
port ---》端口号
bind ---》绑定的主机名或IP地址
logfile --》redis系统日志
dir --》redis工作目录
protected-mode --》是否允许外界访问
例如,我们创建一个redis-6379.conf配置文件,文件的内容如下所示。
daemonize yes #是否以后台形式运行
port 6379 #绑定端口号
bind 0.0.0.0 #设置地址
protected-mode no #设置允许外界访问
dir "/data/redis/data" #工作目录
logfile "./redis-6379.log" #日志位置
然后,我们可以在服务器的命令行使用如下命令指定Redis的配置文件来启动Redis服务。
redis-server redis-6379.conf
总结三种启动Redis的方式
这里,我们还是对Redis的三种启动方式做一个简单的总结:
- 直接命令行:redis-server
- 动态参数方式:redis-server --port 6379 #这里是添加端口参数
- 配置文件方式:redis-server 启动配置文件名
3.客户端连接方式
(1)最简连接法
如果Redis服务器和Redis客户端在同一台服务器上,并且Redis服务器使用的是默认端口6379,则可以使用最简连接法。此时,只需要在服务器命令行输入如下命令即可。
redis-cli
(2)指定IP和端口连接
无论Redis服务器和Redis客户端是否在同一台服务器,也不管是否修改过Redis的端口号,都可以使用指定IP和端口的方式来连接Redis服务。这种方式可以使用类似如下命令的形式连接Redis服务端。
redis-cli -h 127.0.0.1 -p 6379 #加上ip地址或者端口号
(3)使用可视化工具连接Redis
除了上述使用redis-cli连接Redis的方式,还可以使用可视化工具来连接Redis。例如,我们可以使用RedisDesktopManager这个可视化工具来连接Redis。如下所示。
关闭后台Redis方法
当我们不需要Redis的时候,就可以关闭后台运行的Redis服务,我们可以通过如下命令来关闭后台运行的Redis服务。
(1)查看运行的Redis进程号
使用如下命令查看运行的Redis进程号。
ps -ef | grep redis-server | grep 6379
或者
ps -ef | grep redis-server
或者
ps -ef |grep redis
(2)杀掉查询到的进程号
kill Redis进程号
命令脚本化
当然,上述安装Redis、启动Redis、连接Redis和关闭Redis的命令都可以写成一个脚本文件,我们只需要运行脚本文件即可自动化安装Redis、启动Redis、连接Redis和关闭Redis。这里,如何编写脚本就留给小伙伴们自行思考吧,大家如果有什么问题可以在文末留言!!
重磅福利
关注「 冰河技术 」微信公众号,后台回复 “设计模式” 关键字领取《深入浅出Java 23种设计模式》PDF文档。回复“Java8”关键字领取《Java8新特性教程》PDF文档。回复“限流”关键字获取《亿级流量下的分布式限流解决方案》PDF文档,三本PDF均是由冰河原创并整理的超硬核教程,面试必备!!
好了,今天就聊到这儿吧!别忘了点个赞,给个在看和转发,让更多的人看到,一起学习,一起进步!!
写在最后
如果你觉得冰河写的还不错,请微信搜索并关注「 冰河技术 」微信公众号,跟冰河学习高并发、分布式、微服务、大数据、互联网和云原生技术,「 冰河技术 」微信公众号更新了大量技术专题,每一篇技术文章干货满满!不少读者已经通过阅读「 冰河技术 」微信公众号文章,吊打面试官,成功跳槽到大厂;也有不少读者实现了技术上的飞跃,成为公司的技术骨干!如果你也想像他们一样提升自己的能力,实现技术能力的飞跃,进大厂,升职加薪,那就关注「 冰河技术 」微信公众号吧,每天更新超硬核技术干货,让你对如何提升技术能力不再迷茫!
【Redis】Redis开篇与如何安装单机版Redis,这次我会了!!的更多相关文章
- Centos7上安装单机版redis
Centos 7 上安装单机版redis Redis 官网下载 https://redis.io/download 1. 下载.解压.安装 cd /usr/local #wget http://dow ...
- Redis 学习第一课:安装Linux Redis(Ubantu)
对于分布式缓存,之前公司项目中只使用了MemCached,使用比较方便,有现成的C#版本组件. 如今用Redis的公司有很多,所以打算了解一下Redis. Redis的官网地址:http://redi ...
- 7. 单机版Redis的安装以及Redis生产环境启动方案
安装单机版redis redis的生产环境启动方案redis cli的使用 1. 安装单机版redis 大家可以自己去官网下载,当然也可以用课程提供的压缩包 wget http://downloads ...
- centos7下安装配置redis
1.1. Redis下载安装(linux) 1.1.1. 下载: 下载地址:https://redis.io/download 选择合适的版本下载,如下图: 1.1.2. 安装: (1)把下载好的re ...
- Redis】Java中使用Jedis操作Redis(Maven导入包)、创建Redis连接池
如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Java redis 驱动. Maven项目可以直接在pom.xml中加入jedis包驱动: <!-- https: ...
- 高可用Redis服务架构分析与搭建(单redis实例)
原文地址:https://www.cnblogs.com/xuning/p/8464625.html 基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在 ...
- redis安装-单机版
环境准备 因为redis使用c语言开发的,如果要运行在linux上,需要gcc-c++的环境.那么我们就要先看一下是否安装了gcc-c++如果没有的话,需要在虚拟机上安装gcc-c++环境(友情提示, ...
- Redis系列一:reids的单机版安装
环境:VM+centos6+xshell 1.准备好linux的虚拟机,这里用的是centos6,具体方法百度 2.进入software目录,创建一个redis的目录来存放下载的redis包 cd s ...
- mq/mysql/redis/nginx常见服务&工具安装
单机版 3.1安装工具 3.1.1 安装Maven工具 3.1.1上传安装包 1)root用户创建安装目录如/usr/local /maven: mkdir -p /usr/local/maven ...
随机推荐
- 机器学习实战---决策树CART回归树实现
机器学习实战---决策树CART简介及分类树实现 一:对比分类树 CART回归树和CART分类树的建立算法大部分是类似的,所以这里我们只讨论CART回归树和CART分类树的建立算法不同的地方.首先,我 ...
- 【五学x红小豆xRS】两边三地大联动-句型
<第五共和国> Tohara LY Sara'm, Sabang Chua Setuk KS Kareh Moh Induree Junchi Chueh? 阁下!和这样的虫豸在一起,怎么 ...
- ffplay源码编译
ffplay是ffmpeg源码中一个自带的开源播放器组件,支持本地视频文件的播放以及在线流媒体播放,很多商业播放器都是基于ffplay定制而来的.ffplay中的代码充分利用了ffmpeg中的函数库, ...
- DEP(Data Execution Prevention) 数据执行保护
1.原理 数据执行保护,简称“DEP”,英文全称为“Data Execution Prevention”,是一组在存储器上运行额外检查的硬件和软件技术,有助于防止恶意程序码在系统上运行. 此技术由Mi ...
- Python Ethical Hacking - TROJANS Analysis(4)
Adding Icons to Generated Executables Prepare a proper icon file. https://www.iconfinder.com/ Conver ...
- zabbix自定义监控(当会话登录超过三个就报警)
安装过程在此省略. 1.agent端去修改配置文件 2.调用自定义内容 vim /etc/zabbix/zabbix_agentd.d/login.conf UserParameter=login-u ...
- blog only to u
2020/7/16 属于我的第一个博客正式上线,以后我将在此更新我的笔记和我的知识积累还有我那阔爱的小仙女!
- tomcat 认证爆破之custom iterator使用
众所周知,BurpSuite是渗透测试最基本的工具,也可是神器,该神器有非常之多的模块:反正,每次翻看大佬们使用其的骚操作感到惊叹,这次我用其爆破模块的迭代器模式来练练手[不喜勿喷] 借助vulhub ...
- 前端学习(十一):CSS性质
进击のpython ***** 前端学习--CSS性质 那在CSS上还有一些很重要的性质:继承性,层叠性以及特殊性 那本小节就基于这三个性质进行展开... ... 继承性 在CSS的某些样式是具有继承 ...
- nginx 的return配置
该指令一般用于对请求的客户端直接返回响应状态码.在该作用域内return后面的所有nginx配置都是无效的. 可以使用在server.location以及if配置中. 除了支持跟状态码,还可以跟字符串 ...