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. CodeForces-999D Equalize the Remainders

    题目链接 https://vjudge.net/problem/CodeForces-999D 题面 Description You are given an array consisting of ...

  2. nginx教程全集汇总

    Nginx基础1.  nginx安装:httpwww.ttlsa.comnginxnginx-install-on-linux2.  nginx 编译参数详解(运维不得不看):http://www.t ...

  3. 当发送ICMP包的时候不一定能收得到(arp已经应答了)【复现不了了】

    arp已经应答了,然后再返回ICMP应答的时候竟然不被回复. 其实这里想想也很容易想清楚: 虽然arp给了回复,但是真正到ICMP报文到的时候,我理解报文到的时候,我理解还是要进行与本地网络兑换的,本 ...

  4. BZOJ5157 [Tjoi2014]上升子序列 【树状数组】

    题目链接 BZOJ5157 题解 我们只需计算每个位置为开头产生的贡献大小,就相当于之后每个大于当前位置的位置产生的贡献 + 1之和 离散化后用树状数组维护即可 要注意去重,后面计算的包含之前的,记录 ...

  5. gerrit工具-workflow

    gerrit-workflow

  6. 【CZY选讲·Hja的棋盘】

    题目描述 Hja特别有钱,他买了一个×的棋盘,然后Yjq到这个棋盘来搞事.一开始所有格子都是白的,Yjq进行次行操作次列操作,所谓一次操作,是将对应的行列上的所有格子颜色取反.现在Yjq希望搞事之后 ...

  7. topcoder(BinaryCode)

    Problem Statement      Let's say you have a binary string such as the following: 011100011 One way t ...

  8. 自定义View Layout过程 (3)

    目录 目录 1. 知识基础 具体请看我写的另外一篇文章:(1)自定义View基础 - 最易懂的自定义View原理系列 2. 作用 计算View视图的位置. 即计算View的四个顶点位置:Left.To ...

  9. GitHub上README写法暨markdown语法解读

    原文: GitHub上README写法暨markdown语法解读 自从开始玩GitHub以来,就 越来越 感觉它有爱.最近对它的 README.md 文件颇为感兴趣.便写下这贴,帮助更多的还不会编写R ...

  10. 【IDEA】使用intellij的idea集成开发工具中的git插件

    注意:这里并没有介绍git客户端的安装,如果要安装客户端,大家可以参考如下的链接: http://www.runoob.com/git/git-install-setup.html 1.在使用这个id ...