前言

折腾一下redis在linux环境的安装。

ubantu16.04环境下安装

  • 下载安装,依次执行命令;
# 从官方网站下载安装包,注意,当前在哪个目录下执行命令,下载的包将在哪个目录下
$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz
# 将下载包解压
$ tar -zxvf redis-4.0.6.tar.gz
# 进入解压后的文件夹
$ cd redis-4.0.6
# 对文件进行编译,得到可执行的文件,
$ sudo make
# 对编译的文件进行测试,时间较长,没有报错则没有问题,编译出的redis命令放在src目录下
$ sudo make test
# 一般将redis文件统一放在/usr/local目录下,因此将文件移动
$ sudo mv ./redis-4.0.6/* /usr/local/redis/
# 进入redis的目录,执行安装
$ cd /usr/local/redis/
$ sudo make install
# 生成配置文件
$ cd utils
$ ./install_server.sh
  • 运行上面的脚本后,会让用户设置一些配置文件
Please select the redis port for this instance: [6379]   # 配置启动端口
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] # 配置启动文件
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] # 配置日志文件
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] # 配置数据文件路径
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] # 配置redis-server和redis-cli的安装路径

注意:redis相关操作命令都存放在/usr/local/redis/src 目录下;

测试redis

  • 启动redis服务端
$ redis-server

可看到当前的终端被阻塞,按ctrl+C可以关闭服务端,但是有时候会关闭失败,后台依旧会运行;

  • 关闭redis-server
方法一:
# 找到redis的进程ID
$ ps ajx|grep redis 或 top | grep redis $ sudo kill -9 进程ID 方法二:
# 使用客户端命令
$ redis-cli -h ip地址 -p 端口 shutdown
# 该命令有时会报错,不成功使用方法一
  • 启动redis的客户端
$ redis-cli

必须是在服务端打开后,客户端才能登陆,否则显示连接被拒绝;成功后进入客户端:

# 默认只有本机可以访问,端口为6379
> 127.0.0.1:6379

手动更改配置

为了适应需要,如不能阻塞终端,让redis在后台运行;可以远程访问redis,修改端口以及持久化文件的存储路径等,需要修改配置;

  • 进入redis的配置文件redis.conf
$ cd /usr/local/redis/
$ sudo vi redis.conf

更改

  • 允许远程访问:将 bind 127.0.0.1 这一行注释,解除绑定本机;

  • 修改端口:将 port 6379 这一行更改为 port ****(指定自己的端口)

  • 配置以守护进程运行:

# 找到这一行,默认不是守护进程,会阻塞终端,改成yes,在后台运行,非阻塞
daemonize no
  • 可设置持久化文件
# 这一行表示可持久化文件存储在dump.rdb文件中,可自定义文件名;
dbfilename dump.rdb
  • 修改持久化文件的存储路径
# 这一行表示文件存储在运行的目录下,一般需要修改位置,推荐/var/lib/redis
# 先在/var/lib的目录下创建redis文件
dir ./ 改为 dir /var/lib/redis/
  • 设置日志文件的路径
# 找到loglevel notice这一行,在其下面:
logfile '' # 设置文件的路径,redis默认不记录日志;
  • 移动配置文件位置,方便使用配置文件运行
# 直接使用  redis-server 命令运行,默认是阻塞终端并且端口是6379的
# 将配置文件redis.conf放置在一个专门的位置
$ sudo cp /usr/local/redis/redis.conf /etc/redis/
# 使用位置文件的方式启动,配置文件的相关参数就会生效
$ sudo redis-server /etc/redis/redis.conf
# 同时登陆客户端的方式也会更改,如果修改了端口
$ redis-cli -h host -p port
  • 设置密码
# 如果有需要,可以为redis设置操作密码
# 进入配置文件
$ sudo vi /etc/redis/redis.conf
# 使用末行模式,搜索requirepass
$ / requirepass
$ requirepass 123456 # 取消requirepass foobared 的注释,将foobared的位置换成自己的密码
# 重新启动redis-server
$ redis-cli -h host -p port
# 执行
$ auth password(密码) # 没有这句不能进行读写操作

说明:不知道密码的情况下也是可以登录redis-cli客户端的,但是不能进行读写操作

多个redis实例说明

一台服务器上可以同时运行多个redis的实例,只需要将它们设置成不同的端口就可以了;

# 进入redis的配置文件目录
cd /etc/redis/
# 复制一份redis.conf
sudo cp redis.conf redis1.conf
# 修改配置文件,将运行端口更改
sudo vi redis1.conf
port 6390 # 找到修改端口的那一行
# 启动redis
sudo redis-server /etc/redis/redis1.conf # 这时服务器新开了一个redis的实例,与其他的完全隔离;
# 多个redis的实例可以共用一份dump.rdb持久化文件,但是其内容是相互隔离的;

注意重复执行启动redis的命令,不会成功开启,而是依旧运行第一次开启的那个进程pid。

参考

redis基础之安装和配置(一)的更多相关文章

  1. Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置

    Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...

  2. redis简介、安装、配置和数据类型

    redis简介.安装.配置和数据类型 redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理. 它支持字符串.哈希表.列表.集合.有序集合, ...

  3. Ubuntu下redis数据库的安装和配置详细过程

    Redis 安装 当前redis最新稳定版本是4.0.9 当前ubuntu虚拟机中已经安装好了redis,以下步骤可以跳过 最新稳定版本下载链接:http://download.redis.io/re ...

  4. Redis简介、安装、配置、启用学习笔记

    前一篇文章有介绍关系型数据库和非关系型数据库的差异,现在就来学习一下用的较广的非关系型数据库:Redis数据库 Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-v ...

  5. Redis简介,安装和配置,停止,卸载(图解方式)

    Redis是一个Key-value的数据结构存储系统,可以已数据库的形式,缓存系统,消息处理器使用,它支持的存储类型很多,例如,String(字符串),list(列表),set(集合),zset(有序 ...

  6. 在Django中使用redis:包括安装、配置、启动。

    一.安装redis: 1.下载: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 2.解压 tar -zxvf redis-.tar ...

  7. Redis笔记2-Redis安装、配置

    下载安装包 wget http://download.redis.io/releases/redis-4.0.8.tar.gz解压 tar xzvf redis-4.0.8.tar.gz安装 cd r ...

  8. Redis 4.0+安装及配置

    系统环境:CentOS 7.3 官方下载最新版:https://redis.io/download:或直接终端下载解析安装: $ wget http://download.redis.io/relea ...

  9. MySQL 基础、安装、配置

    1. MySQL 基础 1.1 什么是数据库? 1.2 数据库的类型 1.3 关系型数据库的优点 1.4 MySQL 简介 1.5 MySQL 数据类型 1.6 Mysql 存储引擎 1.7 MySQ ...

随机推荐

  1. cas 获取session中的用户信息

    <%Object object =request.getSession().getAttribute("_const_cas_assertion_");Assertion a ...

  2. STL源码剖析——hashtable

    二叉搜索树具有对数时间的搜索复杂度,但是这样的复杂度是再输入数据有足够的随机性的假设上哈希表在插入删除搜索操作上也具有常数时间的表现,而且这种表现是以统计为基础,不需要依赖输入元素的随机性 hasht ...

  3. mybatis连接mysql数据库插入中文乱码

    对于MySQL数据库的乱码问题,有两种情况: 1. mysql数据库编码问题(建库时设定). 2. 连接mysql数据库的url编码设置问题. 对于第一个问题,目前个人发现只能通过重新建库解决,建库的 ...

  4. 【深夜福利】Caffe 添加自己定义 Layer 及其 ProtoBuffer 參数

    在飞驰的列车上,无法入眠.外面阴雨绵绵,思绪被拉扯到天边. 翻看之前聊天,想起还欠一个读者一篇博客. 于是花了点时间整理一下之前学习 Caffe 时添加自己定义 Layer 及自己定义 ProtoBu ...

  5. 【云计算】Docker容器不能修改hosts文件怎么解决?

    参考资料: http://bbs.csdn.net/topics/390871429 http://tieba.baidu.com/p/4295556808 http://stackoverflow. ...

  6. Thinkphp学习笔记-删除缓存

    Thinkphp的缓存数据在Cach文件夹下的Home文件夹下的文临时文件 清除方法:将缓存文件删除就可以了

  7. Sqlserver 使用CTE如何按子查询排序?

    需求:查出最近有更改的客户信息(按最后更改时间排序,来自SystemLog表LogDateTime字段) 说明: Customer:客户信息表SystemLog:系统日志表,记录所有表信息的增,删,改 ...

  8. ASPX导入JS,JavaScript乱码怎么办

    不管你把JS改成UTF-8还是ASCII格式,弹出都是乱码. 你只要在ASPX文件顶部加上"ResponseEncoding="gb2312" ContentType=& ...

  9. python命令行參数解析实例

    闲言少述,直接上代码 #!/usr/bin/env python # # import json import getopt, sys def usage():     print sys.argv[ ...

  10. AsyncTask doinbackground onProgressUpdate onCancelled onPostExecute的基本使用

    对于异步操作的原理我就不讲了.在这我着重讲怎么使用异步操作的doinbackground onProgressUpdate onCancelled onPostExecute这四个方法 doinbac ...