Redis4.0.0 安装及配置 (Linux — Centos7)

Stella981
• 阅读 505

Redis4.0.0 安装及配置 (Linux — Centos7)

Redis4.0.0 安装及配置 (Linux — Centos7)  x113773 关注

2017.07.17 15:04* 字数 991 阅读 3130评论 0喜欢 6

本文中的两个配置文件可在这里找到

操作系统:Linux
Linux发行版:Centos7

安装

  1. 下载地址,点这里Redis4.0.0.tar.gz
    或者使用命令:
    wget http://download.redis.io/releases/redis-4.0.0.tar.gz

  2. 然后执行make编译源码:

    $ tar xzf redis-4.0.0.tar.gz $ cd redis-4.0.0 $ make

  3. 编译完成后启动
    $ src/redis-server

  4. 测试效果:

    $ src/redis-cli ping PONG

    $ src/redis-cli redis> set foo bar OK redis> get foo "bar"

make命令执行完成后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-dump、redis-sentinel

  • redis-server is the Redis Server itself.(Redis服务器本身)
  • redis-sentinel is the Redis Sentinel executable (monitoring and failover).(Redis集群的管理工具)
  • redis-cli is the command line interface utility to talk with Redis.(与Redis进行交互的命令行客户端)
  • redis-benchmark is used to check Redis performances.(Redis性能测试工具)
  • redis-check-aof and redis-check-dump are useful in the rare event of corrupted data files.(AOF文件修复工具和RDB文件检查工具)

可以使用如下命令,把redis-server和redis-cli拷贝到合适的位置(/usr/local/bin/):

sudo cp src/redis-server /usr/local/bin/
sudo cp src/redis-cli /usr/local/bin/

或者,使用 sudo make install可以把6个文件都拷贝过去;

这样的话,只要/usr/local/bin/在PATH环境变量里,

Redis4.0.0 安装及配置 (Linux — Centos7)

image

我们就可以直接使用redis-server和redis-cli而不需要指定全路径了。比如:

[root@localhost ~]# redis-server
12408:C 16 Jul 21:30:29.657 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
12408:C 16 Jul 21:30:29.657 # Redis version=4.0.0, bits=64, commit=00000000, mod                                                                             ified=0, pid=12408, just started
12408:C 16 Jul 21:30:29.657 # Warning: no config file specified, using the defau                                                                             lt config. In order to specify a config file use redis-server /path/to/redis.con                                                                             f
12408:M 16 Jul 21:30:29.658 * Increased maximum number of open files to 10032 (i                                                                             t was originally set to 1024).
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 4.0.0 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 12408
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

12408:M 16 Jul 21:30:29.663 # WARNING: The TCP backlog setting of 511 cannot be                                                                              enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
12408:M 16 Jul 21:30:29.663 # Server initialized
12408:M 16 Jul 21:30:29.663 # WARNING overcommit_memory is set to 0! Background                                                                              save may fail under low memory condition. To fix this issue add 'vm.overcommit_m                                                                             emory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.ove                                                                             rcommit_memory=1' for this to take effect.
12408:M 16 Jul 21:30:29.664 # WARNING you have Transparent Huge Pages (THP) supp                                                                             ort enabled in your kernel. This will create latency and memory usage issues wit                                                                             h Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transpar                                                                             ent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to reta                                                                             in the setting after a reboot. Redis must be restarted after THP is disabled.
12408:M 16 Jul 21:30:29.664 * Ready to accept connections


$ redis-cli                                                                
redis 127.0.0.1:6379> ping
PONG
redis 127.0.0.1:6379> set mykey somevalue
OK
redis 127.0.0.1:6379> get mykey
"somevalue"

关闭redis服务

使用如下命令可以关闭redis服务

$ redis-cli shutdown

配置初始化脚本,以服务方式启动redis

  1. 拷贝redis-4.0.0下的utils目录下的初始化脚本到/etc/init.d目录,并重命名文件为:redis_+端口号
    sudo cp utils/redis_init_script /etc/init.d/redis_6379
    确保redis_6379文件内的REDISPORT变量是你使用的端口号

  2. 新建文件夹/etc/redis/ ,并拷贝redis-4.0.0下的 redis.conf 文件到到改目录下,使用端口号作为文件名

    sudo mkdir /etc/redis sudo cp redis.conf /etc/redis/6379.conf

  3. 创建用来存储redis持久化文件的目录(6379为端口号)
    sudo mkdir -p /var/redis/6379

  4. 编辑6379.conf文件,修改如下几个参数:

  • Set daemonize to yes (by default it is set to no).(设置daemonize 为yes,默认为no)
  • Set the pidfile to /var/run/redis_6379.pid (modify the port if needed).(如果端口号不是6379,则需要修改)
  • Change the port accordingly. In our example it is not needed as the default port is already 6379.(如果端口号不是6379,则需要修改)
  • Set your preferred loglevel.(可以设置日志等级,注释上有说明)
  • Set the logfile to /var/log/redis/redis_6379.log(设置日志文件路径。需要在log下新建redis文件夹)
  • Set the dir to /var/redis/6379 (very important step!)(设置工作目录为 /var/redis/6379)
  1. 这时候就可以使用如下两条命令(任选其一)来启动redis,并测试

    [root@localhost /]# service redis_6379 start Starting Redis server... [root@localhost /]# redis-cli 127.0.0.1:6379> ping PONG 127.0.0.1:6379>

    [root@localhost /]# /etc/init.d/redis_6379 start Starting Redis server...

设置开机自动启动

  1. 编辑/etc/init.d/redis_6379文件,在#!/bin/bash 之后添加如下两行。

    chkconfig: 2345 10 90

    description: redis_6379 service manage...

其中2345是默认启动级别,级别有0-6共7个级别。

等级0表示:表示关机   
  等级1表示:单用户模式   
  等级2表示:无网络连接的多用户命令行模式   
  等级3表示:有网络连接的多用户命令行模式   
  等级4表示:不可用   
  等级5表示:带图形界面的多用户模式   
  等级6表示:重新启动

10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低

  1. 将redis_6379放入linux启动管理体系中
    chkconfig --add redis_6379
    查看redis_6379服务在各运行级状态
    chkconfig --list redis_6379

    Redis4.0.0 安装及配置 (Linux — Centos7)

    image

  2. 重启服务器测试效果:
    reboot
    重启完成后,直接使用redis-cli连接redis,效果如下:

    Using username "root". Last login: Sun Jul 16 21:30:16 2017 from 192.168.10.1 [root@localhost ~]# redis-cli 127.0.0.1:6379>

配置成功,完!

参考:
Redis入门指南(第2版)(顺便推荐下这本书,作为redis入门书籍非常不错)
Redis Quick Start

相关文章:
Spring Boot 1.5.4集成Redis
Spring Boot 使用Redis缓存

随笔

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这