Redis官网:https://redis.io

Redis是完全开源免费的,遵守

目录

Redis是一个高性能的key-value数据库.

@

目录

Redis具有以下特点

  1. 支持数据持久化,可将内存中的数据保存至磁盘,重启后可以再次加载进行使用.
  2. 支持五种数据类型.
  3. 支持数据库备份.

Redis的优势

  1. 性能极高,读110000次/s,写81000次/s.
  2. 丰富的数据类型,String、Lists、Hashes、Sets以及Ordered Sets.
  3. 所有操作都是原子性的,意思是要么成功执行要么完全失败不执行,多个操作支持事物,即MULTI和EXEC指令包起来.
  4. 丰富的特性,支持publish/subscribe、通知、key过期等特性.

Redis数据类型

·

1.String 字符串

redis的string可以包含任何数据类型,包括图片以及序列化的对象.

一个键最大能存储512MB.

·

2.Hash 哈希

redis的hash是一个string类型的key和value映射表.

hash特别适合存储对象,类比Python中的字典.

·

3.List 列表

redis的list是简单的字符串列表,按照插入顺序排序.

可以从两端进行添加,类似于双向链表,还可以进行阻塞.

·

4.Set 集合

redis的set是字符串类型的集合,无序且不重复.

集合是通过哈希表实现的,所以增删查的时间复杂度都是O(1).

·

5. Zset 有序集合

redis的zset和set基本一样,不同的是zset每个元素都会关联一个double类型的分数.

redis正是通过对这个分数的排序来实现集合的有序存储.


安装

进入官网,下载Redis:





下载完成后,按如下步骤安装

·

1.进入redis所在文件夹,输入命令将其解压到/usr/local目录下:

tar zxf redis-5.0.2.tar.gz -C /usr/local

·

2.进入解压后的文件夹,开始编译安装:

make && make install

·

3.启动测试redis:

redis-server &

关闭Redis

# 进入交互模式
redis-cli
# 执行关闭命令
shutdown

如果无法正常关闭,可直接对其PID进行操作:

# 下面两种方法,直接干掉所有redis实例
killall redis-server
pkill redis-server

redis的可执行文件

.

redis-benchmark 用于进行redis性能测试的工具

redis-check-dump 用于修复出问题的dump.rdb文件

redis-cli redis的客户端

redis-server redis的服务端

redis-check-aof 用于修复出问题的AOF文件

redis-sentinel 用于集群管理


配置

这里根据自己的配置习惯进行配置.

.

1.安装完毕后,在redis目录下新建3个文件夹:

mkdir bin etc db

·

2. 把/usr/local/redis/src目录下的如下4个文件cp到/usr/local/redis/bin目录下:

cd /usr/local/redis/src
# -p表示复制权限
cp -p mkreleasehdr.sh redis-benchmark redis-check-rdb redis-cli redis-server ../bin/

·

3. 将/usr/local/redis目录下的redis.conf文件拷贝到/usr/local/redis/etc目录下:

cd /usr/local/redis
cp -p redis.conf etc/

·

4.如下,修改配置文件/usr/local/redis/etc/redis.conf:

vim /usr/local/redis/etc/redis.conf

关于vim编辑器的用法请参考:【 正确使用vim编辑器的姿势】

也可通过redis-cli命令进入交互模式进行配置,详见文章结尾.

配置文件 redis.conf

·

端口

port 6380

.

监听地址

bind 0.0.0.0

.

开启daemon模式,即后台运行

daemonize yes

.

pid文件路径

pidfile /var/run/redis/6380.pid

.

日志级别

loglevel notice

.

redis数据存放位置

dir /usr/local/redis5/db/6380/

.

日志文件路径

logfile /var/log/redis/6380.log

.

redis3.0之后的安全模式

安全模式可能会阻挡远程连接,可给redis设置密码解决这个问题

protected-mode yes

.

reids密码

requirepass redis@123456

·

修改客户端超时时间

timeout 300

·

设置数据库的数量,可以使用SELECT <dbid>命令在连接上指定数据库id

databases 16

指定存储至本地数据库时是否压缩数据

rdbcompression yes

·

默认为yes,redis采用LZF压缩

如果为了节省CPU时间,可以注释掉该选项,但会导致数据库文件变的巨大

指定本地数据库文件名,其存储的数据为二进制类型

dbfilename dump.rdb

.

指定在多长时间内,有多少次更新操作才将数据同步到数据文件

redis默认提供了3个条件:

save 900 1 每900秒内有1个修改记录时转存

save 300 10 每300秒内有10个修改记录时转存

save 60 10000 每60秒内有10000修改记录时转存

·

还可以多个条件配合

save <seconds> <changes>

指定是否在每次更新操作后进行日志记录

appendonly no

·

redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失

因为redis本身同步数据文件是按上面的save条件来同步的,所以有的数据会在一段时间内只存在于内存中

.

指定更新日志条件,

appendfsync everyses

此配置有3个可选值:

no:等待操作系统进行数据缓存同步到磁盘(快)

always:每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)

everysec:每秒同步一次(折衷,默认值)


最后,启动服务:

# 指定配置文件进行启动
redis-server /usr/local/redis/etc/redis_6380.conf

·

进入交互模式:

# -h:指定redis主机IP  -p:指定服务端口 -a:指定redis密码
redis-cli -h 127.0.0.1 -p 6380 -a redis_password

·

交互模式中的操作:

# 获取所有配置项
reids 127.0.0.1:6379> config get * # 获取单个配置项:config get 配置名
redis 127.0.0.1:6379> config get loglevel # 编辑配置:config set 配置名 "新的参数"
redis 127.0.0.1:6379> config set loglevel "debug" # 检查是否设置的密码
127.0.0.1:6380> CONFIG get requirepass # 如果没有密码,也可给redis设置密码
127.0.0.1:6380> CONFIG set requirepass "xxxxxx" """以下操作可实现在运行状态下切换RDB备份模式至AOF备份模式"""
# 开启AOF存储模式
127.0.0.1:6379> CONFIG set appendonly yes
# 关闭RDB存储模式
127.0.0.1:6379> CONFIG SET save ""
# 更改完存储模式后别忘了修改配置文件


【安装配置Redis】的更多相关文章

  1. 如何在Ubuntu 16.04上安装配置Redis

    如何在Ubuntu 16.04上安装配置Redis Redis是一个内存中的键值存储,以其灵活性,性能和广泛的语言支持而闻名.在本指南中,我们将演示如何在Ubuntu 16.04服务器上安装和配置Re ...

  2. centos7 yum安装配置redis 并设置密码

    原文:https://www.cnblogs.com/fanlinglong/p/6635828.html centos7 yum安装配置redis 并设置密码 1.设置Redis的仓库地址 yum ...

  3. linux下安装 配置 redis数据库

    通过终端命令安装(推荐): 1 确保更新源服务器能正常使用 如果没有更换更新源服务器,那么可能一直都下不了软件.欢迎参考我之前的博文来更换成国内的镜像服务器http://www.cnblogs.com ...

  4. Linux安装配置Redis,CentOS7下安装Redis教程

    1.下载Redis wget https://download.redis.io/releases/redis-3.0.4.tar.gz 2 . 解压Redis .tar.gz 3 . 编译安装Red ...

  5. Linux 下载安装配置Redis完整步骤

    安装: 1.获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz 2.解压 tar xzvf redis-4.0.8. ...

  6. CentOS 7安装配置Redis数据库

    Redis源码获取 1.进入Redis官网获取Redis最新稳定版下载地址 2.通过wget命令下载 Redis 源代码.   Redis编译 1.通过tar -xvf redis-3.0.2.tar ...

  7. linux安装配置redis

    redis是支持linux的,所以linux安装redis非常简单,按照官网的提示操作即可. 下载 $ wget http://download.redis.io/releases/redis-3.2 ...

  8. centos7 yum安装配置redis

    1.设置Redis的仓库地址 yum install epel-release 2.安装redis yum install redis 修改配置文件,监听所有的IP地址 vim /etc/redis. ...

  9. Linux安装配置Redis CentOS 7 下安装Redis

    Redis是一个高性能的,开源key-value型数据库.是构建高性能,可扩展的Web应用的完美解决方案,可以内存存储亦可持久化存储.因为要使用跨进程,跨服务级别的数据缓存,在对比多个方案后,决定使用 ...

随机推荐

  1. String,StringBuffer,StringBuild的区别

    1.三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String 2.String <(StringBuffer,StringBuild ...

  2. Django入门--自定义过滤器与标签

    ---恢复内容开始--- 为了让Django找到自定义的模板过滤器和模板标签,需要进行文件路径配置,配置方式分为APP目录下配置和项目路径下配置两种方式: 1.在APP目录下配置:针对某个应用特定的自 ...

  3. muduo库源码剖析(二) 服务端

    一. TcpServer类: 管理所有的TCP客户连接,TcpServer供用户直接使用,生命期由用户直接控制.用户只需设置好相应的回调函数(如消息处理messageCallback)然后TcpSer ...

  4. 在不同的浏览器下FORM及它的小伙伴们默认样式的CSS属性值是不全然一致

    我们一般在定义CSS样式的时候都须要定义去掉HTML标签默认样式的CSS,原因是在不同的浏览器以下它们的表现出来的默认样式不全然一致,我们要保证在不同的浏览器下它们能正常显示出我们想要达到的预期效果, ...

  5. Manarcher 求 字符串 的最长回文子串 【记录】

    声明:这里仅仅写出了实现过程.想学习Manacher的能够看下这里给出的实现过程,算法涉及的一些原理推荐个博客. 给个链接 感觉讲的非常细 引子:给定一个字符串s,让你求出最长的回文子串的长度. 算法 ...

  6. 防止 Chrome 屏蔽 非官方 扩展程序 教程(二)

    说明 前面介绍过一篇通过开发人员模式载入扩展程序的方法,尽管能够正常使用,可是每次又一次打开 Chrome 都会弹出询问窗体,比較麻烦.这里介绍第二种防止屏蔽的方法.与前一种方法相比,尽管应用的步骤多 ...

  7. VS2013找不到SDKDDKVer.h

    今天在升级vs2010 的project的时候遇到了一个这种问题.提示:找不到SDKDKVer.h 通过查找资料发现,原来是vs版本号之间Windows SDK的路径宏定义不同,有些坑. 网上有人说能 ...

  8. idea 中web项目 用自带tomcat启动问题,

    严重: Exception sending context initialized event to listener instance of class com.zenointel.logserve ...

  9. [jzoj 5662] 尺树寸泓 解题报告 (线段树+中序遍历)

    interlinkage: https://jzoj.net/senior/#contest/show/2703/1 description: solution: 发现$dfs$序不好维护 注意到这是 ...

  10. 如何让NSURLConnection在子线程中运行

    可以有两个办法让NSURLConnection在子线程中运行,即将NSURLConnection加入到run loop或者NSOperationQueue中去运行. 前面提到可以将NSTimer手动加 ...