Linux中redis安装配置及使用详解

一、 Redis基本知识

1.Redis 的数据类型

字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈希表 (hashs)

2.Redis的特性

()使用ANSI C编写
()遵守BSD协议
()支持网络
()可基于内存亦可持久化
()日志型、Key-Value数据库
通常被称为数据结构服务器,因为其value可以是String,Map,list,set,sorted set

3.特点

支持数据持久化,可以将内存中的数据保存在磁盘,重启时可再次加载使用;
不仅支持简单的KV数据,还提供list、set、zset、hash等数据结构的存储;
支持数据备份,master-slave模式。

4.优势

性能极高。读110000次/s,写81000次/s;
数据类型丰富;
所有操作都是原子性,支持对几个操作全并后的原子性执行;
丰富的特性。还迟滞publish/subscribe,通知,key过期等。

5.与其他KV存储的区别

数据结构复杂,支持原子性操作。基于基本数据结构,无需额外抽象;
可以持久化到磁盘。

6.Redis 和 memcache 的区别

()Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;
()Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;
()虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;
()过期策略--memcache在set时就指定,例如set key1 ,即永不过期。Redis可以通过例如expire 设定,例如expire name ;
()分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从;
()存储数据安全--memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化);
()灾难恢复--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复;
()Redis支持数据的备份,即master-slave模式的数据备份;
()应用场景不一样:Redis出来作为NoSQL数据库使用外,还能用做消息队列、数据堆栈和数据缓存等;Memcached适合于缓存SQL语句、数据集、用户临时性数据、延迟查询数据和session等。

二、安装配置

1.关闭防火墙

临时关闭防火墙
systemctl stop firewalld 永久防火墙开机自关闭
systemctl disable firewalld 临时打开防火墙
systemctl start firewalld 防火墙开机启动
systemctl enable firewalld 查看防火墙状态
systemctl status firewalld

2.关闭SELinux

临时关闭SELinux
setenforce 临时打开SELinux
setenforce 查看SELinux状态
getenforce 开机关闭SELinux
编辑/etc/selinux/config文件,如下图,将SELINUX的值设置为disabled。下次开机SELinux就不会启动了。

3.下载redis

Redis官网:http://redis.io/download
Redis中文网:http://www.redis.cn/download.html

4.将下载好的压缩包放到/usr/local目录下或者直接下载

# wget http://download.redis.io/releases/redis-4.0.9.tar.gz
# tar xzf redis-4.0..tar.gz
# ln -s redis-4.0. /home/redis
# cd redis
# make

5.编译完成后,进入Src目录

# cd src
# mkdir /usr/redis
# cp redis-server /usr/redis
# cp redis-benchmark /usr/redis
# cp redis-cli /usr/redis
# cp ../redis.conf /usr/redis
# cd /usr/redis

6.启动服务

# /usr/redis/redis-server /usr/redis/redis.conf
建立软连接
# ln -s /usr/redis/redis-server /usr/bin/redis-server
# ln -s /usr/redis/redis-cli /usr/bin/redis-cli
重新启动
# redis-server /usr/redis/redis.conf
启动成功

7.设置守护进程

将redis.conf中daemonize设置为yes,确保守护进程开启。
sed -i 's#daemonize no#daemonize yes#g' /usr/redis/redis.conf

8.设置开机自启动

vim /etc/rc.local
加入
redis-server /usr/redis/redis.conf

三、 文件及配置概述

1./usr/local/redis/bin 目录下的几个文件用途

redis-benchmark : Redis 性能测试工具
redis-check-aof : 检查 aof 日志的工具
redis-check-dump : 检查 rdb 日志的工具
redis-cli : 连接用的客户端
redis-server : Redis 服务进程

2.Redis 的配置项解析

daemonize : 如需要在后台运行 , 把该项的值改为 yes
pdifile : 把 pid 文件放在 /var/run/redis.pid , 可以配置到其他地址
bind : 指定 Redis 只接收来自该 IP 的请求 , 如果不设置 , 那么将处理所有请求 , 在生产环节中最好设置该项
port : 监听端口 , 默认为
timeout : 设置客户端连接时的超时时间 , 单位为秒
loglevel : 等级分为 级 , debug , revbose , notice 和 warning , 生产环境下一般开启 notice
logfile : 配置 log 文件地址 , 默认使用标准输出 , 即打印在命令行终端的端口上
database : 设置数据库的个数 , 默认使用的数据库是
save : 设置 redis 进行数据库镜像的频率
rdbcompression : 在进行镜像备份时 , 是否进行压缩
dbfilename : 镜像备份文件的文件名
dir : 数据库镜像备份的文件放置的路径
slaveof : 设置该数据库为其他数据库的从数据库
masterauth : 当主数据库连接需要密码验证时 , 在这里设定
requirepass : 设置客户端连接后进行任何其他指定前需要使用的密码
maxclients : 限制同时连接的客户端数量
maxmemory : 设置redis能够使用的最大内存
appendonly : 开启 appendonly 模式后 , Redis 会把每一次所接收到的写操作都追加到 appendonly.aof 文件中 , 当 Redis 重新启动时 , 会从该文件恢复出之前的状态
appendfsync : 设置 appendonly.aof 文件进行同步的频率
vm_enabled : 是否开启虚拟内存支持
vm_swap_file : 设置虚拟内存的交换文件的路径
vm_max_momery : 设置开启虚拟内存后 , Redis 将使用的最大物理内存的大小 , 默认为
vm_page_size : 设置虚拟内存页的大小
vm_pages : 设置交换文件的总的page数量
vm_max_thrrads : 设置 vm IO 同时使用的线程数量

四、错误解决办法

1.客户端连接时 , 提示 DENIED Redis is running in protected mode because protected mode is enabled...

将配置文件里的 protected mode改为了 no , 原本是 yes

2.客户端连接时 , 提示 Connection refused...

可能是配置文件里面的 bind 字段设置了入口 IP , 将其注释

Linux中redis安装配置及使用详解的更多相关文章

  1. linux中pip安装步骤与使用详解

    pip类似RedHat里面的yum,安装软件非常方便.本节详细介绍pip的安装.以及使用方法,希望文章对各位了解pip的安装与使用带来帮助. 1.pip下载安装1.1 pip下载  代码如下 复制代码 ...

  2. (转载)linux中设备文件配置程序udev详解

    如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略.在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev ...

  3. Redis安装配置及使用详解

    1. 简介-两个程序通信,除了socket就是文件了,但是通过磁盘效率太低了,之前的RabbitMQ只是实现了消息的传递,现在要是实现数据的共享(一份数据,可供多人查阅),可以通过缓存实现,一个中间商 ...

  4. webpack安装配置使用教程详解

    webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对 ...

  5. linux上redis安装配置及其防漏洞配置及其攻击方法

    Linux上redis安装: 需先在服务器上安装yum(虚拟机可使用挂载的方式安装) 安装配置所需要的环境运行指令:  yum -y install gcc 进入解压文件执行make 指令进行编译 执 ...

  6. Linux学习—redis安装配置及远程连接

    1.下载安装包并解压 进入文件夹/usr/local cd /usr/local 下载redis安装包: wget http://download.redis.io/releases/redis-.t ...

  7. centos7中redis安装配置

    1.官网下载对应版本,本例以5.0.5为例 2.tar -zxvf xxxxx 并mv到安装目录 3.进入redis-5.0.5目录下,执行编译命令 make 4.编译完成后,经redis安装到指定目 ...

  8. Linux中redis主从配置

    假设要在6380开启redis 1.添加配置文件:复制redis.conf为redis_6380.conf 2.修改配置文件:修改redis_6380.conf中port.pidfile 3.防火墙: ...

  9. Linux中JDK安装配置

    安装jdk 1)下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 我选择jdk1.8版本 2)上传至服务 ...

随机推荐

  1. jmeter之接口测试(http接口测试)

    基础知识储备 一.了解jmeter接口测试请求接口的原理 客户端--发送一个请求动作--服务器响应--返回客户端 客户端--发送一个请求动作--jmeter代理服务器---服务器--jmeter代理服 ...

  2. rsync详细配置

    1 说在前面的话 rsync官方网站: https://www.samba.org/ftp/rsync/rsync.html rsync是可以实现增量备份的工具.配合任务计划,rsync能实现定时或间 ...

  3. 理解SQL的左连接与右连接

    假设有A,B两个表. 表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表B记录如下: bID ...

  4. linux软件管理 源码包

    源码包安装位置 安装在指定位置当中,一般是 /usr/local/软件名/ ​ 注意: 需要指定安装路劲为了便于卸载,因为源码包的是没有卸载命令的,它的的卸载方式就是把对应安装文件夹删除了. 所以如果 ...

  5. C语言:统计数字空格其他字符程序

    #include <stdio.h> int main(){ char t; int num=0; int spac=0; int other=0; int sum=0; printf(& ...

  6. LeetCode 81 搜索旋转排序数组II

    题目: 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] ). 编写一个函数来判断给定的目标值是否存在于 ...

  7. java数学函数Math类中常用的方法

    Math类提供了常用的一些数学函数,如:三角函数.对数.指数等.一个数学公式如果想用代码表示,则可以将其拆分然后套用Math类下的方法即可. Math.abs(12.3);               ...

  8. Fiddler中session请求/响应类型与图标含义

    近期在看fiddler抓包工具,发现前面都会有小图标显示,不同的图标代表了不同的含义,通过查询,整理如下:  请求发送到服务器  从服务器下载响应结果  请求在断点处被暂停  响应在断点处被暂停  请 ...

  9. aps.net国际化本地资源 .resources”正确嵌入或链接到程序集

    asp.net国际化提供了资源文件的解决的方式, asp.net自带的两个项目文件夹 分别是:App_GlobalResources和App_LocalResources, App_GlobalRes ...

  10. 远程链接 aws Windows Server 2016 Base Nano

    第一次接触Windows Server 2016 Base Nano,平时工作中或者自己私下使用win的服务器都是带桌面版本的 而这次在aws一不小心开了一台Nano服务,刚开始我都不知道这个是什么玩 ...