redis简介及安装配置

简介

    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更换。

猜你喜欢

转载自www.cnblogs.com/whych/p/9479244.html