简介

redis是一个开源的高性能键值对数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存、队列系统等不同角色。

特性

存储结构:redis是远程字典服务器(Remote Dictionary Server),它以字典结构存储数据,并允许其他应用通过tcp协议读写字典内容。支持的键值数据类型有字符串类型、散列类型、列表类型、集合类型、有序集合类型。开发者可以将程序中的数据直接映射到redis中,数据在redis中的存储形式和在程序中的存储方式非常相近。

内存存储与持久化:redis所有的数据都存储在内存中。普通笔记本上redis可以在一秒内读写超过十万个键值。redis提供了对持久化的支持,可以将内存中的数据异步写入到硬盘中,保证数据不会丢失。

功能丰富:作缓存系统。redis可以为每个键设置ttl值,ttl到期后键会自动被删除。还可以限定数据占用最大的内存空间,到达空间限制后可以按照一定的规则自动淘汰不需要的键;redis列表类型键可以实现队列,并且支持阻塞式读取,很容易实现一个高性能的优先级队列;redis还支持"发布/订阅"的消息模式,可基于此构建聊天室等系统。

简单稳定:redis交互十分简单,redis提供了一百多个命令,但常用只有十几个。

安装启动及配置

安装(linux)

redis没有其他外部依赖,安装非常简单。下载源码编译就行,make install将可执行程序复制到/usr/local/bin下便于执行程序不用输入完整路径。

在官网下可下载https://redis.io/download,也可以直接wget下来:

$ wget http://download.redis.io/releases/redis-4.0.11.tar.gz

$ tar xzf redis-4.0.11.tar.gz

$ cd redis-4.0.11

$ make

启动

在进行安装后,可以看到如下的执行文件:

redis-check-aof是AOF文件修复工具

redis-check-rdb是RDB文件检查工具

redis-benchmark是性能测试工具

redis-cli是命令行客户端

redis可直接启动(开发环境)和初始化脚本启动(生产环境)

直接启动运行redis-server就行,--port参数指定端口,默认6379。

需要配置redis运行方式和持久化文件、日志文件的存储位置等,需要初始化脚本启动。redis脚本文件如下(redis源码目录下的/utils/redis_init_script:

  1. 修改脚本文件

    将脚本复制到/etc/init.d目录下,文件名改为redis_6380(我这里改为6380端口),可以通过修改端口参数REDISPORT。

    由脚本文件可以得知需要创建目录:/etc/redis和/var/redis/6380(存放redis持久化文件)

  2. 修改配置文件

    复制redis.conf文件到/etc/redis/下,改名配置文件名为6380.conf,修改参数:

    daemonize    yes

    pidfile    /var/run/redis_6380.pid

    port    6380

    dir    /var/redis/6380

  3. 开机自启动

    /etc/init.d/redis_6380 start

    chkconfig redis on

停止

kill redis的pid与redis-cli SHUTDOWN效果一样。考虑到redis有可能正在将内存中的数据同步到硬盘中,正确停止使用redis-cli较好。

#redis-cli -p 6380 SHUTDOWN

redis-cli命令行客户端

redis-cli执行默认服务器地址为127.0.0.1,端口为6379,通过-h 和-p参数指定。不加参数会进入交互模式。

命令的返回值有五种类型:

  1. 状态回复

    回复状态ok表示成功,也会直接显示状态信息,比如PING。

  2. 错误回复

    错误回复以error开头。

  3. 整数回复

    整数回复以integer开头,比如INCR递增键值返回递增后的键值。

  4. 字符串回复

    当请求一个字符串类型键的键值,或一个其他类型键中的某个元素时。请求键值不存在会返回空(nil)。

  5. 多行字符串回复

    多行字符串回复中每个字符串都以一个序号开头。

配置

redis-server启动时可以将配置文件的路径作为启动参数传递给redis-server。redis还可以通过CONFIG SET命令在不重启redis服务的情况下动态修改部分redis配置:

redis是一个字典结构的存储服务器,也就提供了多个用来存储数据的字典,可以将每个字典都理解成一个独立的数据库。每个数据库都是以一个从0开始的递增数字命名,redis默认支持16个数据库,可以通过databases修改。客户端连接后会自动选择0号数据库,可以使用SELECT更换。

redis简介及安装配置的更多相关文章

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

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

  2. Redis for linux安装配置之—-源码安装

    一‘redis单实例安装配置1.下载redis源码压缩包,并将其上传至服务器/usr/local2.解压redis源码压缩包  # tar -xzvf redis-3.2.12.tar.gz3.进入r ...

  3. twemproxy 简介、安装配置

    twemproxy 简介.安装配置 http://www.xuchanggang.cn/archives/993.html

  4. redis简介及安装

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

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

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

  6. redis的简单安装配置

    一.简介 Redis是一种高级key-value数据库,数据可以持久化,支持的数据类型很丰富,有字符串,哈希,链表,集合和有序集合5种数据类型 Redis支持在服务器端计算集合的并,交和补集(diff ...

  7. Redis简介与安装

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

  8. 001.Redis简介及安装

    一 Redis简介 1.1 Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key-value 缓存产品有以下三个特点: ...

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

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

随机推荐

  1. POJ 1113 Wall(思维 计算几何 数学)

    题意 题目链接 给出平面上n个点的坐标.你需要建一个围墙,把所有的点围在里面,且围墙距所有点的距离不小于l.求围墙的最小长度. \(n \leqslant 10^5\) Sol 首先考虑如果没有l的限 ...

  2. js发送请求

    1.Chrome控制台中 net::ERR_CONNECTION_REFUSED js频繁发送请求,有可能连接被拒绝,可用setTimeout,过几秒发送,给个缓冲时间 var overlayAnal ...

  3. 【读书笔记】iOS-访问iPod媒体库

    iOS设备内部都有一个iPod媒体库,在这个媒体库中包含了音频和视频文件,它的来源主要是苹果公司的iTunes Store,现在苹果公司的iTunes Store内容很多,但能够下载到iPod媒体库的 ...

  4. 【面试】Python面试题库

    https://blog.csdn.net/ChenVast/article/details/81451460 第一部分 Python基础篇(80题) 为什么学习Python? 通过什么途径学习的Py ...

  5. Chrome调试本地文件无法使用window.opener对象进行窗口间值传递

    今天在百度BAE上建了个应用,svn上传后发现页面间互调有些问题,几经查询发现: (1)IE下正常的window.opener.object1.object2页面间对象访问方法在Chrome下不能使用 ...

  6. loadrunner 运行脚本-Run-time Settings之Preferences设置

    运行脚本-Run-time Settings之Preferences设置 by:授客 QQ:1033553122 打开Preferences设置对话框,这里提供了对运行时的参数选择设置 Enable ...

  7. loadrunner 场景设计-手工场景设计

    场景设计-手工场景设计 by:授客 QQ:1033553122 概述 通过选择需要运行的脚本,分配运行脚本的负载生成器,在脚本中分配Vuser来建立手工场景 手工场景就是自行设置虚拟用户的变化,主要是 ...

  8. spring容器、BeanFactory、ApplicatContext、WebApplicationContext

    1.spring容器 BeanFactory提供了IoC的功能:ApplicatContext建立在BeanFactory的基础上 在初始化BeanFactory的实现类时,并没有实例化Bean,直到 ...

  9. 使用过AsyncTask、EventBus、Volley以及Retrofit,必须好好了解handler运行机制

    我们都知道在UI线程中不能进行耗时操作,例如数据读写.网络请求.Android 4.0开始,在主线程中进行网络请求甚至会抛出Android.os.NetworkOnMainThreadExceptio ...

  10. JavaScript大杂烩8 - 理解文本解析的"黄金搭档"

    文本解析"黄金搭档" - String与RegExp对象 文本解析是任何语言中最常用的功能,JavaScript中也是一样,而正则表达式作为最常用的方式,JavaScript也同样 ...