简介

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

特点

性能极高
Redis能读的速度是110000次/s,写的速度是81000次/s 。

丰富的数据类型
Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

原子
Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

丰富的特性
Redis还支持 publish/subscribe, 通知, key 过期等等特性。

对比

Redis与其他key-value存储有什么不同?

原子性操作
Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

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

应用场景

缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
分布式集群架构中的session分离。
聊天室的在线好友列表。
任务队列。(秒杀、抢购、12306等等)
应用排行榜。
网站访问统计。
数据过期处理(可以精确到毫秒)

如果你考虑保持一些中间数据,但是使用数据库又太重,清理太麻烦,那么redis是你的首选解决方案。

安装

主要记录linux版本,附录windows和mac版本操作步骤。

linux安装redis

###安装
选择版本,进入官网地址: http://redis.io/download 我们使用redis-3.0稳定版,因为redis从3.0开始增加了集群功能。
使用命令

#进入到安装目录
cd /usr/local
wget http://download.redis.io/releases/redis-3.0.0.tar.gz
tar -zxvf redis-3.0.0.tar.gz 
cd  redis-3.0.0
#安装到指定目录 如 /usr/local/redis
make PREFIX=/usr/local/redis install
#redis.conf是redis的配置文件,redis.conf在redis源码目录。
#拷贝配置文件到安装目录下
#进入源码目录,里面有一份配置文件 redis.conf,然后将其拷贝到安装路径下
cd /usr/local/redis
cp /usr/local/redis-3.0.0/redis.conf  /usr/local/redis/bin
#进入安装目录bin下
cd /usr/local/redis/bin
ll

此时我们看到的目录结构是这样的

Redis介绍和安装_安装


redis-benchmark redis性能测试工具

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

redis-check-rdb RDB文件修复工具

redis-cli redis命令行客户端

redis.conf redis配置文件

redis-sentinal redis集群管理工具

redis-server redis服务进程

###启动redis
前端模式启动
直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法

./redis-server

Redis介绍和安装_Redis_02

###后端模式启动
修改redis.conf配置文件, daemonize yes 以后端模式启动

vi /usr/local/redis/bin/redis.conf

将daemonize no修改成daemonize yes

如图:

Redis介绍和安装_Redis_03

执行如下命令启动redis:

cd /usr/local/redis
./bin/redis-server ./bin/redis.conf

###连接redis

/usr/local/redis/bin/redis-cli

以上命令将打开以下终端:

redis 127.0.0.1:6379>

127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令和尝试设置获取key和value。

redis 127.0.0.1:6379> ping
PONG
redis> set foo bar
OK
redis> get foo
"bar"

###关闭redis
强行终止redis进程可能会导致redis持久化数据丢失。正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,命令为:

cd /usr/local/redis
./bin/redis-cli shutdown

###强行终止redis

pkill redis-server

###让redis开机自启

vi /etc/rc.local
//添加
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf

##mac安装redis

方式一
官网http://redis.io/
下载最新的稳定版本,这里是3.2.0

sudo mv redis-3.2.0.tar  /usr/local/
#解压文件
sudo tar -zxf redis-3.2.0.tar 
#进入解压后的目录 
cd redis-3.2.0
#测试编译
sudo make test 
sudo make install

方式二
mac 下安装也可以使用 homebrew,homebrew 是 mac 的包管理器。
执行

brew install redis

启动 redis,可以使用后台服务启动

brew services start redis

或者直接启动

redis-server /usr/local/etc/redis.conf

##Window安装redis
下载地址:https://github.com/MSOpenTech/redis/releases。 Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。

打开一个 cmd 窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf 。

如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:

Redis介绍和安装_安装_04


这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。

切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。

设置键值对 set myKey abc

取出键值对 get myKey

Redis介绍和安装_数据_05