当前位置:   article > 正文

Redis的安装及详解_redis编译安装

redis编译安装

1.Redis介绍?

1.1 Redis是什么?

Redis(Remote Dictionary Server,远程字典服务器)是一个开源免费的,用C语言编写的一个高性能的分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库。是当前最热门的NoSql服务器之一,也被人们成为数据结构服务器(redis的所有功能就是将数据以其固有的几种结构保存,并提供给用户操作这几种结构的接口)。

1.2 Redis的特点

  • Redis支持数据的持久化,可以将内存中的数据保存到磁盘中,重启时候可以再此加载进行使用。
  • Redis是一个key-value存储系统。它的value类型除String以为,还支持list(链表)、set(集合)、hash(哈希散列)和zset(有序集合)几种数据类型。
  • Redis支持数据备份,即master-slave模式的备份。

1.3 Redis能干什么?

Redis主要是用来做缓存的,但不是仅仅只能做缓存。

  • 缓存(内存的存储和持久化)使用最多
    数据查询、新闻内容、商品内容等等
  • Session共享
    分布式集群架构中的session分离。
  • 定时器和计数器
    网站访问统计和应用排行榜。
  • 任务队列
    秒杀、抢购、12306等等
  • 获取最新N个数据的操作。
    可以将最新10条评论的id放在redis的list集合中。
  • 发布、订阅信息系统(充当消息中间件)

2.下载及安装

2.1 下载

2.1.1 登录Redis的官网

https://redis.io/
http://www.redis.cn/
在这里插入图片描述

2.1.2 点击上图链接,进行下载

在这里插入图片描述

2.2 安装

2.2.1 安装前的准备工作

redis是C语言开发,建议在linux上运行,本教程使用Centos7作为安装环境。
安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc,联网执行如下命令

yum install gcc-c++
  • 1

2.2.2 上传下载好的redis-5.0.5.tar.gz到linux中

我们放到/usr/local/temp文件夹下。
在这里插入图片描述

2.2.3 解压源码

tar -zxvf redis-5.0.5.tar.gz
  • 1

2.2.4 进入解压后的目录编译

cd /usr/local/redis-5.0.5 
make 
  • 1
  • 2

如果第一次make出现由于gcc没安装导致的错误。
第二次make时需要执行如下命令 make distclean
然后再make

2.2.5 进入解压后目录安装redis到指定目录

如 /usr/local/redis

cd /usr/local/redis-5.0.5 
make PREFIX=/usr/local/redis install
  • 1
  • 2

2.2.6 redis启动

  • 前端模式启动
    直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法。
  • 后台模式启动
    找到配置文件redis.conf,redis.conf在redis源码目录。
    拷贝配置文件到安装目录的bin目录下
cp /usr/local/redis-5.0.5/redis.conf  /usr/local/redis/bin
  • 1

修改bin目录下redis.conf配置文件, daemonize为 yes 。
启动时,加上redis.conf

cd /usr/local/redis/bin
./redis-server redis.conf
  • 1
  • 2

2.2.7查看redis状态

ps aux|grep redis
  • 1

执行完该命令,如果是显示一行,则没有启动redis。如果是多行这代表redis服务已经启动。
在这里插入图片描述

2.2.8关闭redis服务

 redis-cli -p redis 端口号 shutdown
  • 1

3 Redis基础知识介绍

  • Redis默认安装16个库
  • 通过select+数据库下表[从零开始]切换库
select 4
  • 1
  • 通过dbsize命令可以查看数据库key的个数。
dbsize
  • 1
  • 通过keys命令可以查看数据库中的key值
keys * 
  • 1
  • 通过FLUSHDB命令清空当前库。
  • 通过FLUSHALL命令清空所有库。
  • redis默认端口:6379

4 Redis常用的五大数据类型

  • String(字符串)
    String是redis最基本的类型。
    String类型是二进制安全的,redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。一个redis中字符串value最多可以是512M
  • Hash(哈希)
    Redis的hash 是一个键值对集合。
    Redis的hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
    类似Java里面的Map<String,Object>
  • List(列表)
    Redis 列表是简单的字符串列表,按照插入顺序排序。它的底层实际是个链表
  • Set(集合)Redis的Set是string类型的无序集合。它是通过HashTable实现的。
  • zset(sorted set:有序集合)
    Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
    不同的是每个元素都会关联一个double类型的分数。
    redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

5 Redis配置文件详解

5.1 在哪里?

在redis源码解压后的目录中。名字叫:redis.conf

5.2 为什么我们在linux中大多数配置文件,要拷贝一份运行?

避免我们把原始的配置改乱,而无法恢复。

5.3 redis.conf组成

5.3.1Units单位

  • 大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit
  • 对大小写不敏感
    在这里插入图片描述

5.3.2 INCLUDES包含

和我们的struts2配置文件类似,可以通过includes包含,redis.conf可以作为总闸,包含其他redis的配置。
在这里插入图片描述

5.3.3 GENERAL 配置

5.3.3.1 Redis配置设置
  • CONFIG 命令查看配置项
127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
  • 1

示例:

127.0.0.1:6379> CONFIG GET loglevel
1)"loglevel"
2) "notice"
  • 1
  • 2
  • 3
  • CONFIG 命令设置配置项
127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
  • 1

示例

127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
127.0.0.1:6379> CONFIG GET loglevel
1)"loglevel"
2)"notice"
  • 1
  • 2
  • 3
  • 4
  • 5

可以修改redis.conf来设置配置项

5.3.3.2 daemonize(守护进程)

Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程(Windows 不支持守护线程的配置为 no )

5.3.3.3 pidfile

当 Redis 以守护进程方式运行时,redis会生成一个pid文件,默认会生成在/var/run/redis.pid。当然,你可以通过pidfile来指定pid文件生成的位置

5.3.3.4 port

指定 Redis 监听端口,默认端口为 6379,作者在自己的一篇博文中解释了为什么选用 6379 作为默认端口,因为 6379 在手机按键上 MERZ 对应的号码,而 MERZ 取自意大利歌女 Alessia Merz 的名字

5.3.3.5 tcp-backlog

默认值:511。
设置tcp的backlog,backlog其实是一个连接队列,backlog队列总和=未完成三次握手队列 + 已经完成三次握手队列。目前而言,我们使用默认值,足够使用。

5.3.3.6 timeout

当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能。设置为0:表示连接一直连着不关闭。

5.3.3.7 bind

绑定的主机地址

5.3.3.8 tcp-keepalive

单位为秒,如果设置为0,则不会进行Keepalive检测,建议设置成60。表示60秒进行一次tcp连接检测。

5.3.3.9 loglevel

指定日志记录级别,Redis 总共支持四个级别:debug、verbose、notice、warning,默认为 notice。

5.3.3.10 logfile

日志记录方式,默认为标准输出,如果配置 Redis 为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给 /dev/null

5.3.3.11 databases

设置数据库的数量,默认redis安装有16个库,默认当前数据库为0号库,可以使用SELECT 命令在连接上指定数据库id

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/896204
推荐阅读
相关标签
  

闽ICP备14008679号