Redis的下载安装
Redis简介
Redis是一个开源的key-value数据库,由C语言编写,对多种编程语言提供了支持。
Redis的特点
- 是内存数据库,数据存储在内存中,性能极高
支持数据的持久化,可以将内存中的数据持久化到硬盘
支持数据备份,redis存储的数据有2份,一份在内存中,一份持久化到硬盘,会自动同步到硬盘
- 支持hash,list,set,zset(sorted set)等多种数据结构
支持事务,可使用MULTI、EXEC指令将多个操作包起来作为一个事务
特性丰富,提供发布/订阅、通知、 key 过期等特性
redis常见的使用场景
- 缓存数据库查询结果
- 分布式系统的数据共享,比如session共享
- 任务队列,比如存储秒杀、抢购、抢票等用户|订单队列
- 数据过期处理,设置一个过期时间,到期自动删除该数据
Linux下安装Redis
1、安装gcc
redis需要自己编译,redis是c语言写的,所以需要安装c语言的编译器gcc。
先看下是否安装了gcc,没有安装就装上。
yum list --installed | grep gcc
yum install gcc
2、/usr/local下新建目录redis,将redis下载至该目录,解压,删除压缩包
mkdir /usr/local/redis
cd /usr/local/redis
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar -xzvf redis-5.0..tar.gz
rm redis-5.0..tar.gz
3、切换到解压目录下,编译
cd redis-5.0.
make
4、安装redis
make install PREFIX=/usr/local/redis
指定安装目录为/usr/local/redis 。安装完成后,redis/bin下有2个文件:redis-server、redis-cli。
redis-server是redis的服务器,即redis数据库;redis-cli是redis客户端,用来操作redis数据库。
解压的目录里的很多程序、配置文件后续还要使用,不能删除。
把redis作为服务,开机自启
redis下新建目录conf,把解压目录下的redis.conf复制到conf下;
redis下新建目录logs,logs下新建文件redis.log;
redis下新建目录data。
运行解压目录下的utils/install_server.sh
utils/install_server.sh
根据提示,选择路径:
其实只需指定配置文件、redis-server的路径即可,但默认的日志保存位置、redis-server数据保存位置东一个、西一个,不好记、用时不好找,
我们自己新建文件|目录,统一放在redis下。
检查一下设置,按Enter安装服务,如果路径写错了按Ctrl+C取消安装,从头开始即可。
安装好以后,看到/etc/init.d下生成了一个redis_6379脚本文件,Linux启动时会自动执行init.d下的脚本。
安装服务以后,默认自动开启redis-server,并且redis-server会开机自启。
和tomcat、redis不一样,tomcat、redis直接在/etc/rc.d/rc.local中写上路径即可开机自启,redis要指定的路径很多,需要单独用脚本来启动(指定路径)。
分析
install_server.sh的执行过程其实就是:
把utils/redis_init_script拷到/etc/init.d下,重命名为redis_$port,根据我们设置的端口号、路径来修改redis_init_script中对应的部分,
然后把redis添加为服务、将redis服务设置为开机启动。
redis_init_script是一个服务脚本,包含了启动、关闭redis-server的命令。
我们看一下redis_init_script的部分代码:
第一处是把redis添加为服务,第二处是把设置redis服务的开机启动(在/etc/rc.d下添加redis_$port脚本)。
设置的服务名是redis_${REDIS_PORT},端口号一般是6379,所以服务名一般是redis_6379,
看不顺眼的可以在安装服务前把里面的redis_${REDIS_PORT}全部替换为redis,这样服务名就是redis了。
所以也可以自己把utils/redis_init_script拷到/etc/init.d下,重命名这个文件,修改里面的配置,
然后chkconfig添加为服务、设置开启等级,
至于开机启动服务,可以把/etc/init.d下的服务脚本拷到/etc/rc.d/init.d下,开机会自动执行/etc/rc.d/init.d下的脚本;
或者在/etc/rc.d/rc.local中添加/etc/init.d下服务脚本的路径,开机会自动执行/etc/rc.d/rc.local中指定的脚本文件;
或者直接使用 chkconfig | systemctl 将服务设置为开机自启,都可以。
防火墙设置
Linux防火墙要开放6379端口,外部机器才能连接redis服务器。
firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload
需要重启防火墙才会生效,不然你看到显示success开启成功,但外部机器依然连不上。
指定Redis服务器的ip地址
编辑redis.conf:
vim conf/redis.conf
/bind 搜索关键字bind,将ip修改为Linux的ip地址:
注意是虚线下面的那个。
默认Redis服务器的ip是127.0.0.1,只能在Linux本地才能连接上,打开了防火墙的6379端口,外部也连不上。
需要修改为Linux的ip地址。
重启redis才会生效:
service redis_6379 restart
redis服务器启动|关闭的3种方式
1、前台启动
直接运行redis/bin下的redis-server,启动后终端的这个标签页不能再使用,需要新建一个标签页来操作。
Ctrl+C或直接关闭redis所在标签页,即可关闭redis服务器。
不方便,不推荐使用。
Ctrl+C可取消|停止Linux终端正在执行的命令,C即cancel。
2、后台启动
(1)修改redis.conf,将daemonize设置为yes
vim conf/redis.conf
一进去就是命令模式,/daemonize查找:
默认是no,将它改为yes,设置为守护进程,这样启动redis服务器时会后台启动,前台没有启动界面。
(2)启动redis服务器
./redis-server conf/redis.conf
就是执行bin下面的redis-server,传入配置文件的路径。
(3)关闭redis服务器
./redis-cli shutdown
通过redis客户端,向redis服务器发送关闭命令。
3、服务方式
方式一:
service redis_6379 start
service redis_6379 stop
方式二:
systemctl start redis_6379
systemctl stop redis_6379
每个人设置的服务名可能不一致,我的是redis_6379。
服务方式的好处:
- 不必cd到指定目录
- 我们安装服务时指定了配置文件的位置,所以也不必传入配置文件的路径
操作Redis服务器的2个工具
1、redis自带的客户端redis-cli
./redis-cli -h 192.168.1.7 -p
-h指定redis服务器地址,-p指定redis服务器使用的端口号。缺省-h时默认为127.0.0.1,缺省-p时默认为未6379。
如果未修改redis.conf中绑定的ip,Linux上直接./redis-cli就可以连上,ip、port使用默认值即可;如果修改了redis.conf中绑定的ip,则用-h 127.0.0.1连不上,必须用绑定的ip才可以。
输入exit或quit即可退出redis客户端。
2、Redis Desktop Manager
下载安装Redis Desktop Manager,这个软件是收费的,Windows、MacOS、Linux的版本都有。
输入ip、端口号,redis服务器默认没有密码,不填验证。
先点击“测试连接”看能不能连上,能连上才点确定。
连接失败常见的原因:
- 防火墙没打开6378端口,需重启防火墙才会生效
- redis.conf没有绑定Linux的ip,需重启redis服务器才会生效
相比redis自带的客户端,Redis Desktop Manager可以统计数据、查看使用情况:
一般用redis-cli来操作数据库,用Redis Desktop Manager来查看、分析数据|使用情况。
Redis官方只提供了Linux版,微软自己搞了个山寨的Windows版,可以在github上下载,但基本没公司在实际中用。
Redis的下载安装的更多相关文章
- Redis学习笔记(2)——Redis的下载安装部署
一.下载Redis Redis的官网下载页上有各种各样的版本,如图 但是官网下载的Redis项目不正式支持Windows.如果需要再windows系统上部署,要去GitHub上下载.我下载的是Redi ...
- CentOS7的安装以及redis的下载安装和连接redis desktop manager出现的问题
因为需要在springboot下使用redis,所以打算在linux下使用redis,并且使用redis desktop manage来连接管理,但是一路上出现个种问题现在总结一下. 如何安装Cent ...
- Redis之下载安装及基本使用
redis window系统的redis是微软团队根据官方的linux版本高仿的 官方原版: https://redis.io/ 中文官网:http://www.redis.cn 1.1 redis下 ...
- redis php扩展安装下载
php的redis 扩展下载地址 Windows :http://windows.php.net/downloads/pecl/releases/redis/2.2.7/ 下载对应版本,一般有两个 n ...
- redis下载安装以及添加服务
一.下载安装 从 github 下载:https://github.com/MSOpenTech/redis/releases 或者 https://github.com/ServiceStack/r ...
- redis入门(01)redis的下载和安装
参考链接: 命令手册 : http://www.redis.net.cn/order/ 菜鸟教程: http://www.runoob.com/redis/redis-install.html 一.概 ...
- Redis安装教程及可视化工具RedisDesktopManager下载安装
Redis安装教程: 1. Windows下安装教程: 下载:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要 ...
- redis的下载与安装(linux版)
redis的下载与安装(linux版) 1.下载路径 https://redis.io/download 2.上传到linux并且解压 3.进入解压之后的redis,并且make && ...
- Redis 下载 安装
Redis 官网 https://redis.io/ github 主页 https://github.com/antirez/redis 下载页面 https://redis.io/download ...
随机推荐
- hdu-5596 GTW likes gt(模拟+优先队列)
题目链接: GTW likes gt Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Othe ...
- ip策略路由
ip route 只是基于目的地址的路由选择 ip rule 路由策略,控制路由选择,可根据源地址,源IP等进行路由选择 路由策略由选择符合操作组成 ip rule add 添加策略 ip r ...
- Python ip与数字的转换方式
例子:IP:192.168.1.10 方法一: In [1]: bin(192)Out[1]: '0b11000000' In [2]: bin(168)Out[2]: '0b10101000' In ...
- UnicodeEncodeError: 'ascii' codec can't encode character u'\u5929' in position 2: ordinal not in range(128)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u5929' in position 2: ordinal not in ran ...
- python--numpy模块、spicy模块、 matplotlib模块
一:numpy模块 ndarray:存储单一数据类型的多维数组 ufunc:能够对数组进行处理的函数(universal function object) #numpy 中arange用法,指定开始值 ...
- 安装openstack出现的问题及解决
感谢http://www.cnblogs.com/nmap/p/6417163.html,参考这篇文章,我在虚拟机上部署成功了,后来因为虚拟机实在带不动,所以改装到物理机上,在实验室找到两台物理机,分 ...
- 1.13-1.14 Hive Action
一.Hive Action 1.创建文件 [root@hadoop-senior oozie-apps]# pwd /opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/oozie- ...
- 1-2关键字 & 2-1什么是变量
2-1什么是变量 驼峰第一个字母首字母小写后面字母首字母大写 Pascal命名规范:
- python 内置函数的补充 isinstance,issubclass, hasattr ,getattr, setattr, delattr,str,del 用法,以及元类
isinstance 是 python中的内置函数 , isinstance()用来判断一个函数是不是一个类型 issubclass 是python 中的内置函数, 用来一个类A是不是另外一个 ...
- fetch + async await 使用原生JS发送网络请求
由于现在主流浏览器支持Fetch API,无需引用其他库就能实现AJAX,一行代码就搞定,可以说是非常方便了. export default { name: 'HelloWorld', data() ...