redis 基本原理及安装
2019-04-28 20:53 龙恩0707 阅读(544) 评论(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,如下所示: