1.Redis简介

redis是使用C语言编写的开源的,支持网络,基于内存,可持久性的键值对存储数据库,2013年5月之前,Redis是最流行的键值对存储数据库,Redis采用内存数据集,支持多种数据类型.

Redis特性:

a.高速读写,数据类型丰富;

b.支持持久化,多种内存分配及回收策略;

c.支持弱事务,消息队列,发布订阅;

d.支持高可用,支持分布式分片集群.

企业缓存数据库解决方案对比:

memcached:

a.优点:高性能读写,单一数据类型,支持客户端式分布式集群,一致性hash多核结构,多线程读写性能高;

b.缺点:无持久化,节点故障可能出现缓存穿透,分布式需要客户端实现,跨房数据同步困难,架构扩容复杂.

Redis:

a.优点:高性能读写,多数据类型支持,数据持久化,高可用架构,支持定义虚拟内存,支持分布式分片集群,单线程读写性能极高;

b.缺点:多线程读写比memcached慢.

Tair:

a.优点:高性能读写,支持三种存储引擎(ddb;rdb;ldb)支持高可用,支持分布式分片集群,支撑了几乎所有淘宝业务的缓存;

b.缺点:单机情况下,读写性能较其他两种产品较慢.

Redis应用场景:

数据高速缓存,web会话缓存;排行榜应用;消息队列,发布订阅.

2.Redis安装部署

# 环境CentOS7,IP:10.0.0.15
wget http://download.redis.io/releases/redis-3.2.10.tar.gz
cd redis-3.2.10/
make
ln -s /root/redis-3.2.10 /usr/local/redis
cd /usr/local/redis grep "^[a-Z]" redis.conf
bind 10.0.0.15
port 6379
daemonize yes
pidfile /var/run/redis_6379.pid
logfile "/usr/local/redis/logs/redis.log" mkdir logs && cd logs
cp src/redis-server /usr/bin/
cp src/redis-cli /usr/bin/
redis-server /usr/local/redis/redis.conf # 启动redis

添加开机自启

cat /usr/lib/systemd/system/redis.service

IP=`ifconfig eth0 | awk -F"[ ]+" 'NR==2{print $3}'`
[Unit]
Description=The redis-server Process Manager
After=network.target [Service]
ExecStart=/usr/local/redis/src/redis-server /usr/local/redis/redis.conf --daemonize no
ExecStop=/usr/local/redis/src/redis-cli -h $IP shutdown [Install]
WantedBy=multi-user.target systemctl daemon-reload
systemctl enable redis
systemctl start redis

3.参数介绍

daemonize yes  # 后台启动
appendonly no # 记录操作日志
logfile "/usr/local/redis/logs/redis.log" # 日志文件位置
dbfilename dump.rdb # 持久化数据文件,配置文件中没开持久化功能
protected-mode yes # 开启保护模式,需要requirepass的配合
requirepass root123
redis-cli -h 10.0.0.15 # 连接redis
# 正确的关闭方法是redis-cli shutdown 10.0.0.15:6379> CONFIG GET * # 获取当前所有配置
10.0.0.15:6379> CONFIG SET loglevel "notice" # 变更运行配置

Redis数据持久化:

RDB持久化:基于快照的持久化功能,保存一个时刻的数据状态,企业中常用的持久化功能,一般还可以用作备份;

AOF持久化:只追加日志模式,会将redis一段时间内的所有修改命令记录下来,属于比较安全的一种持久化方式.

使用哪种持久化方式?

a.一般来说,如果想要达到很高的数据安全性,应该同时使用两种持久化功能;

b.如果你非常关心数据的安全,并且可以承受数分钟内的数据丢失,建议使用RDB;

c.有很多用户只使用AOF,但是这种方式并不推荐,因为定时生成的RDB快照非常便于数据库进行备份,并且RDB恢复数据的速度要比AOF快很多,而且还有AOF的bug问题.

无持久化策略时,在redis内部使用save命令,dump.rdb生成在redis当前目录中,恢复时只需将dump.rdb放入redis当前目录即可.

官方网站:https://redis.io

官方各版本下载地址:http://download.redis.io/releases/

Redis 中文命令参考:http://redisdoc.com

中文网站1:http://redis.cn

中文网站2:http://www.redis.net.cn

Redis4安装与配置:https://cloud.tencent.com/developer/article/1333876

Redis单机部署、添加开机自启、配置参数的更多相关文章

  1. Centos 7 redis、tomcat、Spring Boot添加开机自启服务

    一.redis添加开机自启 1.添加服务配置文件 [root@test system]# vim /etc/systemd/system/redis-server.service 2.服务配置文件内容 ...

  2. kali添加开机自启[亲测有效]

    kali添加开机自启 采用systemd的方法,kali默认是没有rc.local的,需要自己创建.本方法也适用于ubuntu 18.04 64bit 改写rc-local.service 文件 先从 ...

  3. Linux(Centos7)下redis5安装、部署、开机自启

    1.什么是redis redis是用C语言开发的一个开源的高性能键值对(key-value)数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串 ...

  4. Redis 单机部署

    参考文章: https://www.cnblogs.com/zy-303/p/10273167.html#_label0 https://blog.csdn.net/linyifan_/article ...

  5. ubuntu添加开机自启和sysv-rc-conf

    此文ubuntu使用sysvinit,而非upstart UBUNTU添加开机自动启动程序方法 1. 开机启动时自动运行程序    Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程i ...

  6. centOS学习part7:Oracle开机自启配置

    0 上一章(http://www.cnblogs.com/souvenir/p/3884904.html)我们用了很多时间以及很长的篇幅来介绍oracle的整个安装过程,希望对大家用所帮助.oracl ...

  7. redis怎么动态添加内存,动态配置,无需重启。

    在redis的使用过程中,有时候需要急需修改redis的配置,比如在业务运行的情况下,内存不够怎么办,这时要么赶紧删除无用的内存,要么扩展内存.如果有无用的内容可删除那么所有问题都已经解决.如果内容都 ...

  8. Centos8 Tomcat 开机自启配置

    第一步:修改catalina.sh文件 # vim 编辑 Tomcat bin/catalina.sh 文件.增加如下内容 CATALINA_PID="$CATALINA_BASE/bin/ ...

  9. zabbix添加开机自启

    原文链接:https://www.cnblogs.com/zydev/p/6888805.html 1. zabbix客户端的系统服务脚本 1.1 拷贝启动脚本 zabbix的源码提供了系统服务脚本, ...

随机推荐

  1. obj = object(),所创建的obj实例到底是个啥?

    In[1]: dir(obj) Out[1]:['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '_ ...

  2. 孤荷凌寒自学python第三十二天python的代码块中的异常的捕获

    孤荷凌寒自学python第三十二天python的代码块中的异常的捕获 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天简单了解了Python的错误陷阱,了解到其与过去学过的其它语言非常类似 ...

  3. 稀疏矩阵相乘-Python版

                                          稀疏矩阵相乘-Python版 Given two sparse matrices A and B, return the r ...

  4. STL之priority_queue使用简介

    优先队列容器也是一种从一端入队,另一端出对的队列.不同于一般队列的是,队列中最大的元素总是位于队首位置,因此,元素的出对并非按照先进先出的要求,将最先入队的元素出对,而是将当前队列中的最大元素出对. ...

  5. 原始套接字--icmp相关

    icmp请求 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <uni ...

  6. [ecmagent][redis学习][1初识redis] redis安装+redis快速教程+python操作redis

    # redis安装 # redis安装教程 -- 服务器(ubuntu)安装redis服务 sudo apt-get install redis-server -- 源码安装 -- $ wget ht ...

  7. 第十一篇:MySQL基础

    本篇内容 MySQL概述 MySQL安装 MySQL库增.删.改.查 MySQL表增.删.改.查 MySQL表记录增.删.改.查 一. MySQL概述 MySQL是一个关系型数据库管理系统,由瑞典 M ...

  8. Redis键管理

    Redis键管理 Redis 键命令用于管理 redis 的键. 语法 Redis 键命令的基本语法如下: redis > COMMAND KEY_NAME redis > SET w3c ...

  9. jQuery UI-Draggable 参数集合

    ·概述    在任何DOM元素启用拖动功能.通过单击鼠标并拖动对象在窗口内的任何地方移动.    官方示例地址:http://jqueryui.com/demos/draggable/      所有 ...

  10. Java Nio注意事项

    Selector  : public abstract class Selector extends Object SelectableChannel 对象的多路复用器. 可通过调用此类的 open ...