一 Redis简介

1.1 Redis 简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key-value 缓存产品有以下三个特点:
  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

1.2 Redis 优势

性能极高:Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型: Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子特性:Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性: Redis还支持 publish/subscribe, 通知, key 过期等等特性。
1.3 Redis与其他key-value存储差异化
Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
引用官方:http://www.redis.net.cn/tutorial/3502.html

二 Redis安装

2.1 Linux编译安装

  1 [root@redis ~]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz
2 [root@redis ~]# tar -zxvf redis-5.0.3.tar.gz
3 [root@redis ~]# cd redis-5.0.3/
4 [root@redis redis-5.0.3]# make
5 [root@redis redis-5.0.3]# cd src/
6 [root@redis src]# make install PREFIX=/usr/local/redis

三 Redis优化

3.2 Redis前台启停

  1 [root@redis ~]# cd /usr/local/redis/bin/
2 [root@redis bin]# ./redis-server #前台启动方式
3 ctrl+c #强制停止redis
4 [root@redis bin]# ./redis-cli shutdown #正常停止redis
提示:正常停止redis需要在运行窗口之外另开一个终端窗口。

3.3 Redis后台启停

  1 [root@redis ~]# mkdir /usr/local/redis/etc
2 [root@redis ~]# cp /root/redis-5.0.3/redis.conf /usr/local/redis/etc/ #复制配置文件
3 [root@redis ~]# vim /usr/local/redis/etc/redis.conf #将启动方式改为后台
4 daemonize yes
5 [root@redis ~]# cd /usr/local/redis/bin/
6 [root@redis bin]# ./redis-server /usr/local/redis/etc/redis.conf #指定配置并后台启动
7 [root@redis bin]# ps -ef | grep redis
8 [root@redis bin]# kill -9 21511 #强制停止Redis
9 [root@redis bin]# ./redis-cli shutdown #正常停止redis

3.4 设置开机启动

  1 [root@redis ~]# cp /root/redis-5.0.3/utils/redis_init_script /etc/init.d/redisd
2 [root@redis ~]# vi /etc/init.d/redisd
3 #!/bin/sh
4 # chkconfig: 2345 90 10
5 # description: Redis is a persistent key-value database #添加此两行
6 ……
7 REDISPORT=6379
8 EXEC=/usr/local/redis/bin/redis-server #修改为正确的路径
9 CLIEXEC=/usr/local/redis/bin/redis-cli #修改为正确的路径
10 ……
11 CONF="/usr/local/redis/etc/redis.conf" #修改为正确配置文件
12 [root@redis ~]# chkconfig redisd on #开机启动
13 [root@redis ~]# service redisd start #启动Redis
14 [root@redis ~]# service redisd stop #停止Redis

3.5 其他优化

  1 [root@redis ~]# vi /etc/profile.d/redis.sh
2 export REDIS_HOME=/usr/local/redis/
3 export REDIS_BIN=$REDIS_HOME/bin/
4 export PATH=$REDIS_BIN:$PATH
5 [root@redis ~]# source /etc/profile

四 确认验证

  1 [root@redis ~]# netstat -tlunp					#查看端口
2 Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
3 tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 21367/./redis-serve
4 [root@redis ~]# redis-cli #客户端连接
5 127.0.0.1:6379> exit

五 Redis配置文件解析

5.1 配置项

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

参考文档:https://www.cnblogs.com/wangchunniu1314/p/6339416.html

https://www.cnblogs.com/zuidongfeng/p/8032505.html

001.Redis简介及安装的更多相关文章

  1. redis简介及安装

    1 redis简介及安装 1.1 Redis是什么 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. 首 ...

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

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

  3. Redis简介与安装

    目录 Redis概述与安装使用 Redis概述与安装使用 Author:SimpleWu GitHub-redis Redis简介 Redis英语全称:( REmote DIctionary Serv ...

  4. 峰Redis学习(1)Redis简介和安装

    是从博客:http://blog.java1234.com/blog/articles/310.html参考过来的: 第一节:Redis 简介 为什么需要NoSQL,主要应对以下问题,传统关系型数据库 ...

  5. redis 简介,安装与部署

    NOSQL简介 NoSQL,泛指非关系型的数据库,NoSQL数据库的四大分类: 键值(Key-Value)存储数据库:这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据 ...

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

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

  7. 1、Redis简介、安装和基础入门

    -------------------------------------------------------- 主要内容包括: 1.Redis简介 2.Redis安装.启动.停止 3.Redis基础 ...

  8. Redis 基础:Redis 简介及安装

    Remote Dictionary Server(Redis)是一个由Salvatore Sanfilippo写的key-value存储系统.Redis是一个开源的使用ANSI C语言编写.遵守BSD ...

  9. (一)Redis简介及安装

    Redis简介 Redis 是一个开源(BSD许可)的,内存中的key-value数据结构存储系统,它可以用作数据库.缓存和消息中间件. Redis具有丰富的数据结构类型.包括字符串(string), ...

随机推荐

  1. 在Ubuntu 15下搭建V/P/N服务器pptpd安装和配置

    在Ubuntu 15下搭建VPN服务器pptpd安装和配置 在ubuntu下配置vpn的方式有很多种,其中比较常见的是pptpd,它配置简单,但是安全性不高,不过对于一般使用来说足够了,我按照程搭建了 ...

  2. Swift DispatchQueue

    延迟2s执行 DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()+2)

  3. <<人月神话>>阅读体会(一)

    第一次听说人月神话还是在大一上学期的导论课那会儿,那会儿好像就已经确定了自己要学软件,于是就去问王建民老师能不能给我推荐几本软件工程方面的书,我想要提前自己学学,以为老师会给我推荐一些某种语言类的学习 ...

  4. gnuradio 初次使用

    参考链接: 入门 http://www.cnblogs.com/moon1992/p/5739027.html 创建模块 http://www.cnblogs.com/moon1992/p/54246 ...

  5. iframe内容自适应高度

    一直觉得要用JS才能实现iframe高度的自适应,其实CSS也可以,而且实现的更好,只是需要给包裹iframe的DIV设置个高度,然后让irame高度设置成100%就可以自适应了. 完美版Iframe ...

  6. python --------------网络(socket)编程

    一.网络协议 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构(互联网中处处是C/S架构):B/S架构也是C/S架构的一种,B/S是浏览器/服务器 C/S架构与socket的关系: ...

  7. 【kafka】celery与kafka的联用问题

    背景:一个小应用,用celery下发任务,任务内容为kafka生产一些数据. 问题:使用confluent_kafka模块时,单独启用kafka可以正常生产消息,但是套上celery后,kafka就无 ...

  8. C++ Primer 笔记——嵌套类 局部类

    1.嵌套类是一个独立的类,与外层类基本没什么关系.特别的是,外层类的对象和嵌套类的对象是相互独立的.在嵌套类的对象中不包含任何外层类定义的成员,在外层类的对象中也不包含任何嵌套类定义的成员. 2.嵌套 ...

  9. Parameter 'name' not found. Available parameters are [arg1, arg0, param1, param2]

    解决方法: <select id="selectIf" resultType="student"> SELECT id,name,age,score ...

  10. Eciplce ALT+/失效的解决方法

    最近公司电脑上的Eclipse没有了自动提示功能,也不是全部不提示,大多数情况下按下“alt+/”键还会产生提示,但是当我在java项目中邪main方法和syso的时候,“alt+/”则会失效,今天在 ...