前言

折腾一下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. nsq多播分发和负载均衡实验

    什么是nsq?请参考实时分布式消息平台nsq. 本地如何搭建nsq?请参考本地搭建nsq经验分享. 从NSQ的设计文档中得知,单个nsqd被设计为一次能够处理多个流数据,NSQ中的数据流模型是由str ...

  2. Linux命令执行的屏幕输出内容重定向到日志文件

    摘要: 作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 快速mark一下这个命令细节,免得以后使用又忘记了 大家都知道可以用echo来输出内容到 ...

  3. Oracle数据库常用函数使用--持续更新中

    NVL函数.NVL( string1, replace_with).如果string1为NULL,则NVL函数返回replace_with的值,否则返回原来的值. INSTR函数.用于查找指定字符串是 ...

  4. iOS:三种数据库的小总结

    三种数据库总结:sqlite.FMDB.CoreData   1.sqlite数据库(C语言)需要方法和属性:  (1)数据类型: –INTEGER 有符号的整数类型 –REAL 浮点类型 –TEXT ...

  5. [AngularJS] Angular 1.3 new $q constructor

    <!DOCTYPE html> <html ng-app="app"> <head lang="en"> <meta ...

  6. <The Art of Readable Code> 笔记二 (上)

    第2章  封装信息到名字 (Packing information into names) 2.1  use specific words GetPage() 不如 FetchPage() 和 Dow ...

  7. 如何使用angularjs实现抓取页面内容

    <html ng-app="myApp"> <head> <title>angularjs-ajax</title> <scr ...

  8. 一些C++11语言新特性 - Range-Based for Loops

    1. Range-Based for Loops for ( decl : coll ) { statement} eg: , , , , , , , } ) { std::cout << ...

  9. 多用户角色权限访问模块问题”的解决思路( 位运算 + ActionFilterAttribute )

    如果你还是不太懂位运算,请看我的文章:那些年我们一起遗忘的位运算! 下面是我在这次项目中学习到的,我眼中的位运算的应用!主要是实现 通知的3个操作: 1.  置顶 2.  设为首页 3.  同时为 “ ...

  10. 转换到 StoryBoard 的公布说明(Converting to Storyboards Release Notes)

    转换到 StoryBoard 的公布说明(Converting to Storyboards Release Notes) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl ...