redis介绍

redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)

redis的应用场景

  • 缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
  • 分布式集群架构中的session分离。
  • 聊天室的在线好友列表。
  • 任务队列。(秒杀、抢购、12306等等)
  • 应用排行榜。
  • 网站访问统计。
  • 数据过期处理(可以精确到毫秒)

yum安装redis

  1. 安装
#检查是否有redis yum 源
yum install redis
#下载fedora的epel仓库
yum install epel-release
#安装redis数据库
yum install redis
  1. 安装完毕后,使用下面的命令启动redis服务
# 启动redis
service redis start
# 停止redis
service redis stop
# 查看redis运行状态
service redis status
# 查看redis进程
ps -ef | grep redis
  1. 设置redis为开机自动启动
chkconfig redis on
  1. 进入redis服务
# 进入本机redis
redis-cli
# 列出所有key
keys *
  1. 防火墙开放相应端口
# 开启6379
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
# 开启6380
/sbin/iptables -I INPUT -p tcp --dport 6380 -j ACCEPT
# 保存
/etc/rc.d/init.d/iptables save
# centos 7下执行
service iptables save

修改redis默认端口和密码

1、打开配置文件

vi /etc/redis.conf

2、修改默认端口,查找 port 6379 修改为相应端口即可

3、修改默认密码,查找 requirepass foobared 将 foobared 修改为你的密码

4、使用配置文件启动 redis

redis-server /etc/redis.conf &

5、使用端口登录

redis-cli -h 127.0.0.1 -p 6179

6、输入刚才输入的密码

auth 111

8、停止redis

考虑到 Redis 有可能正在将内存中的数据同步到硬盘中,强行终止 Redis 进程可能会导致数据丢失。正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,

当Redis收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出。

Redis可以妥善处理 SIGTERM信号,所以使用 kill Redis 进程的 PID也可以正常结束Redis,效果与发送SHUTDOWN命令一样。

方式1:命令方式关闭redis
redis-cli -h 127.0.0.1 -p 6179
shutdown 方式2:进程号杀掉redis
ps -ef | grep redis
kill -9 XXX

三、使用redis desktop manager远程连接redis

1、访问如下网址下载redis desktop manager

https://redisdesktop.com/download

2、安装后启动,新建一个连接

3、填写如下信息后点击“Test Connection”测试是否连接成功

4、如果长时间连接不上,可能有两种可能性

  a)bind了127.0.01:只允许在本机连接redis

  b)protected-mode设置了yes(使用redis desktop manager工具需要配置,其余不用)

  解决办法:

# 打开redis配置文件
vi /etc/redis.conf
# 找到 bind 127.0.0.1 将其注释
# 找到 protected-mode yes 将其改为
protected-mode no

5、重启redis

service redis stop
service redis start

6、再次连接即可

问题总结

1、redis通过6379端口无法连接服务器

使用netstat -tlnp查看端口,可以看到6379对应的是127.0.0.1,所以导致远程客户端无法连接

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 1770/redis-server 1
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1542/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1216/sshd
tcp6 0 0 :::3306 :::* LISTEN 1013/mysqld

解决:

1、清除iptables规则

#查看iptables规则
iptables -L -n
#清除全部iptables规则
iptables -F

2、修改redis.conf配置文件将bind 127.0.0.1改为bind 0.0.0.0

vi /etc/redis.conf
#bind 127.0.0.1
bind 0.0.0.0

之后重启redis

#命令方式关闭redis
redis-cli -h 127.0.0.1 -p 6179
shutdown #进程号杀掉redis
ps -ef | grep redis
kill -9 XXX

3、阿里云添加安全组规则,添加6379端口

参考阅读

https://www.cnblogs.com/rslai/p/8249812.html

https://www.cnblogs.com/herblog/p/9305668.html

centos7.x下环境搭建(四)—redis安装的更多相关文章

  1. centos7.x下环境搭建(三)—nodejs安装

    有3种方式可以安装nodejs yum安装 源码包安装 nvm方式安装 一.方式1:yum安装 这里我们指定安装8.x以上的版本 # curl --silent --location https:// ...

  2. centos7.x下环境搭建(二)—nginx安装

    上篇文章是对mysql的安装,接着上篇文章,这篇文章安装nginx服务 添加yum源 默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址.因此可以如下执行命令添 ...

  3. centos7.x下环境搭建(一)--yum方式安装mysql5.7

    前两天因为数据库被黑客攻击,导致数据被删除,数据库被损坏,系统重新安装了一下,所以环境也需要重新再搭一遍,包括mysql.nodejs.git.nginx和redis的安装.由于之前安装的mysql安 ...

  4. centos7.x下环境搭建(五)—nginx搭建https服务

    https证书获取 十大免费SSL证书 https://blog.csdn.net/ithomer/article/details/78075006 如果我们用的是阿里云或腾讯云,他们都提供了免费版的 ...

  5. Redis的简单介绍及在Windows下环境搭建

    简单介绍 1,Redis是什么 最直接的还是看官方的定义吧. Redis is an open source (BSD licensed), in-memory data structure stor ...

  6. Linux下环境搭建(四)——jenkins+gitlab+jmeter实践

    经过前三篇博文的介绍,jenkins+gitlab+jmeter接口自动化的框架就搭建成功了,详细可见 Linux下环境搭建(一)——java.tomcat配置 Linux下环境搭建(二)——jenk ...

  7. Mac OS X下环境搭建 Sublime Text 2 环境变量配置 开发工具配置Golang (Go语言)

    Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2 一.安装Golang的SDK 在官网http://golang.org/ 直接下载安装 ...

  8. LNMP环境搭建之php安装,wordpress博客搭建

    LNMP环境搭建之php安装,wordpress博客搭建 一.介绍: 1.什么是CGI CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服 ...

  9. LNMP环境搭建:Nginx安装、测试与域名配置

    Nginx作为一款优秀的Web Server软件同时也是一款优秀的负载均衡或前端反向代理.缓存服务软件 2.编译安装Nginx (1)安装Nginx依赖函数库pcre pcre为“perl兼容正则表达 ...

随机推荐

  1. jQuery HTML/CSS 方法大全

    下表列出了用于操作HTML和CSS的所有方法. 方法 描述 addClass() 向所选元素添加一个或多个类名 after() 在所选元素之后插入内容 append() 在所选元素的末尾插入内容 ap ...

  2. i春秋-“百度杯”CTF比赛 十月场-Login

    源码发下提示 尝试登陆 得到个什么鬼, 但是相应包里发现个可疑的东西   //  CTF中的0 和1 这些一般都有套路的 然后在请求头里 改为 1 ##代码审计来了..   分析了半天 后来看了别人的 ...

  3. 【LeetCode】寻找两个有序数组的中位数

    给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 nums2  ...

  4. 一次http请求的过程

    http协议(超文本传输协议)是属于应用层的协议,网络分层:应用层(http协议,FTP),传输层(tcp,udp),网络层(ip/ARP),链路层 我们以浏览器向百度发送请求为例: http的发送: ...

  5. Linux kernel workqueue机制分析【转】

    转自:http://www.linuxsir.org/linuxjcjs/15346.html 在内核编程中,workqueue机制是最常用的异步处理方式.本文主要基于linux kernel 3.1 ...

  6. 从写下第1个脚本到年薪30W,我的自动化测试心路历程

    我希望我的故事能够激励现在的软件测试人,尤其是还坚持在做“点点点”的测试人. 你可能会有疑问:“我也能做到这一点的可能性有多大?”因此,我会尽量把自己做决定和思考的过程讲得更具体一些,并尽量体现更多细 ...

  7. Deep Q Network(DQN)原理解析

    1. 前言 在前面的章节中我们介绍了时序差分算法(TD)和Q-Learning,当状态和动作空间是离散且维数不高时可使用Q-Table储存每个状态动作对的Q值,而当状态和动作空间是高维连续时,使用Q- ...

  8. flask POOL,websocket握手

    一.POOL Pool就是为了多线程访问数据库,减少数据库压力 回顾pymysql import pymysql #建立连接 mysql_conn = pymysql.connect(host=&qu ...

  9. 使用设备树来编写led驱动程序

    在总线设备驱动模型中,平台设备是写在c文件中.使用设备树时,平台设备事先并不存在,在dts文件中构造节点,节点里面含有资源.dts文件被编译成dtb文件,然后传递给内核.内核会解析dtb文件,得到一个 ...

  10. IDEA 一键生成所有setter方法(GenerateAllSetter插件)

    GenerateAllSetter插件使用效果如下: alt+enter快捷键选择Generate all setter 之后就会自动生成其中的所有setter方法 下面介绍idea安装步骤: alt ...