Redis简单介绍与安装

Redis 简单介绍

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、高性能的key-value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets) 和有序集合(sorted sets)等类型。

Redis 特点

key-value缓存产品的三个特点:

  • 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • 支持简单的key-value类型的数据。
  • 支持数据的备份,即master-slave模式的数据备份。

Redis的优势:

  • 性能极高——Redis能读的速度是110000次/s,写的速度是81000次/s
  • 丰富的数据类型——Redis支持list、set、zset、hash等数据结构的操作。
  • 原子性——Redis的所有操作都是原子性的:单个操作是原子性的,多个操作也支持事务(通过MULTI和EXEC指令包起来)。
  • 丰富的特性——Redis还支持publish/subscribe,通知,key 过期等等特性。

Redis 安装

Window 下安装

下载地址:https://github.com/MSOpenTech/redis/releases

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

如果下载Redis-x64-3.2.100.msi,双击执行安装即可。如果下载Redis-x64-3.2.100.zip,解压到指定目录即可使用。

进入安装目录执行以下命令,如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。

1
> redis-server.exe redis.windows.conf

Linux 下安装

下载地址:http://redis.io/download,下载最新稳定版本。

1
2
3
4
$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-5.0.5.tar.gz
$ cd redis-5.0.5
$ make

make完后redis-5.0.5目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:

下面启动redis服务.

1
2
3
$ cd src
$ ./redis-server # 使用默认配置
$ ./redis-server ../redis.conf # redis.conf 是一个默认的配置文件。我们可以根据需要使用自己的配置文件

启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务进行交互。


Ubuntu 下安装

Ubuntu 系统安装 Redis 可以使用以下命令:

1
2
$sudo apt-get update
$sudo apt-get install redis-server

启动 Redis

1
$ redis-server

Mac 下安装

方法一

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

1
2
3
4
5
$ sudo mv redis-5.0.5.tar.gz  /usr/local/  # 移至 /usr/local/
$ sudo tar xzf redis-5.0.5.tar.gz # 解压文件
$ cd redis-5.0.5 # 进入解压目录
$ sudo make test # 测试编译
$ sudo make install # 安装

方法二

使用 homebrew

1
2
3
4
$ brew search redis # 查找可用的redis包
$ brew install redis #安装redis,可加@版本号安装指定版本,eg: brew install redis@4.0
$ # 只能安装可用的redis包,可能不是官网最新版本,比如此次支持最高的是redis@4.0,redis官网是Stable (5.0)
$ brew services start redis # 或者直接启动:redis-server /usr/local/etc/redis.conf

安装后的简单操作

启动Redis server

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ cd redis-5.0.5/src
$ ./redis-server ../redis.conf
60379:C 28 Jul 2019 09:46:36.625 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
60379:C 28 Jul 2019 09:46:36.625 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=60379, just started
60379:C 28 Jul 2019 09:46:36.625 # Configuration loaded
60379:M 28 Jul 2019 09:46:36.627 * Increased maximum number of open files to 10032 (it was originally set to 256).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.5 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 60379
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'

60379:M 28 Jul 2019 09:46:36.631 # Server initialized
60379:M 28 Jul 2019 09:46:36.631 * Ready to accept connections

测试 Redis 是否启动

1
2
3
4
5
$ ./redis-cli # 不知道IP和端口127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> ping
PONG
# 已经成功安装了redis。

Redis 的简单 set 和 get

1
2
3
4
5
6
$ ./redis-cli -h 127.0.0.1 -p 6379 #指定ip和端口
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> get hello
"world"
127.0.0.1:6379>

退出 Redis 客户端

1
127.0.0.1:6379> exit

退出 Redis 服务

1
$ ./redis-cli shutdown

检测 Redis 服务

1
2
3
4
5
6
#检测后台进程是否存在
$ ps -ef |grep redis
#检测6379端口是否在监听
$ netstat -tln | grep 6379
#因为Redis可以妥善处理SIGTERM信号,所以直接 kill -9 进程id 也是可以关闭redis的
kill -9 PID

卸载 Redis

先关闭 Redis 服务,检测以确定关闭。

删除 make 的时候产生的几个 redis 文件

1
2
3
4
5
6
7
$ rm -rf /usr/local/bin/redis*
# redis-benchmark
# redis-check-aof
# redis-check-rdb
# redis-cli
# redis-sentinel
# redis-server

删除解压后的文件目录和所有文件

1
2
3
$ cd /usr/local/
$ rm -rf redis-5.0.5
$ rm -rf redis-5.0.5.tar.gz