代码改变世界

redis 基本原理及安装

2019-04-28 20:53  龙恩0707  阅读(543)  评论(0编辑  收藏  举报

一:什么是redis?

Redis 是一个开源的,高性能的,基于键值对的缓存与存储系统。通过提供多种键值数据类型来适应不同场景下的缓存与存储需求。

二:redis数据库有什么优点?

Redis数据库中的所有的数据都存储在内存中,内存的读写速度都比硬盘快,因此Redis在性能上对比其他基于硬盘存储的数据库有明显的优势。也就是说读写速度非常快。

缺点是:把数据存储在内存中,当程序退出后,内存中的数据就会丢失。但是Redis也提供了对持久化的支持。即可将内存中的数据异步写入到硬盘中。

三:安装Redis

下面我使用homebrew来安装,首先我们需要安装homebrew,安装homebrew 命令如下:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如上命令运行后即可安装homebrew了。

有关homebrew的操作命令如下:

brew search * // 查找某个软件包
brew list // 列出已经安装的软件的包
brew install * // 安装某个软件包
brew uninstall * // 卸载某个已经安装的包
brew upgrade * // 更新某个软件包
brew info * // 查看指定软件包的说明
brew cache clean // 清理缓存

2. 我们使用 brew search redis 来搜索下 redis的安装版本,如下:

下面我们来安装 redis3.2版本的,如下命令:

然后我们进入 /usr/local/etc 下找到 redis.conf 配置文件,使用如下命令打开:

sudo open ./redis.conf -a 'sublime text'

打开redis.conf 文件进行编辑,找到 daemonize no 这一行 改成yes 目的是以守护进程的方式启动。

3. 配置环境变量:如下命令:

echo 'export PATH="/usr/local/Cellar/redis@3.2/3.2.13/bin:$PATH"' >> ~/.zshrc

如下图所示:

4. 启动redis, 使用命令如下:

brew services start redis@3.2

如下图所示:

5. 查看进程:使用命令:ps axu|grep redis;

如下图所示:

四:启动客户端

1. 指定地址和端口号
使用命令如下:

redis-cli -h 127.0.0.1 -p 6379

2. 关闭客户端使用 quit 命令;

基本操作如下:

$ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> set key value11;
OK
127.0.0.1:6379> get key
"value11;"
127.0.0.1:6379> quit

如下所示:

五:启动服务端

Redis常用的可执行文件有如下:

redis-server Redis服务器。
redis-cli Redis命令行客户端
redis-benchmark Redis性能测试工具

启动Redis服务端

启动Redis有直接启动和通过初始化脚本启动两种方式。我这边先介绍直接启动了。

1. 直接启动

我们需要直接运行 redis-server 命令,即可启动Redis, 命令如下:

$ redis-server

如下所示:

Redis服务器默认使用6379端口号的。我们可以通过 --port 参数可以自定义端口号。如下:

$ redis-server --port 7777

如下图所示:

六:关闭服务端

1. 强行关闭
强行终止redis进程可能会导致数据丢失,因为redis可能正在将内存的数据同步到硬盘中。

ps axu|grep redis; // 查看redis-server 的进程号

杀掉进程号 

kill -9 '进程号';

如下所示:

注意:Redis启动失败,如下报错:

Could not connect to Redis at 127.0.0.1:6379: Connection refused

如下图所示

解决办法如下:
1. 先启动服务器端:如下命令:redis-server。 如下所示:

2. 然后切换到一个新的命令行中(注意上面的服务器端不要关闭掉,否则的话会被拒绝掉的),输入启动客户端的命令如下:

redis-cli

3. 我们继续查看进程号,可以看到如下:

七:查看客户端redis是否连接正常

Redis提供了PING命令来测试客户端与Redis的链接是否正常,如果连接正常会收到回复PONG,如下所示: