redis 学习(1)-- redis 安装与启动
redis 特性
关于 redis 的介绍网上已经有很多信息了,这里我就不在详细说明了。介绍一下几个鲜明特性:
1.速度快
- 官方称可以达到10W的qps
- 将数据存储在内存中
- 由C语言编写
- 线程模型为单线程
2.持久化
- Redis将所有数据保持在内存中,并异步更新到磁盘上
3.支持多种数据结构
- String
- Hash
- List
- Set
- ZSet
- BitMap(位图)
- HyperLogLog(超小的内存唯一值计数器)
- GEO(地理信息定位)
4.支持多种编程语言
5.功能丰富
- 支持类MQ的发布订阅功能
- 支持Lua脚本
- 支持事务
- 支持pipeline
6.非常简单
- Redis 3.0的单机核心代码只有2300行代码
- 单线程模型
7.支持主从复制
8.高可用、分布式
redis 安装
推荐在 linux 环境下安装,redis 作者并没有做 Windows 环境下的兼容,虽然微软官方有解决方案,但是难免会出现一系列未知的问题,这里我以使用 redis 3.0.7 版本为例,介绍 Linux 下 redis 的安装。
-
下载 redis 压缩文件(我自己是放到 /opt/soft 目录下)
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
-
解压压缩文件
tar -xzf redis-3.0.7.tar.gz
-
建立软链接(便于目录管理,后期升级和维护)
ln -s redis-3.0.7 redis
-
移动到 redis 目录
cd redis
-
安装
make && make install
在命令行中执行上述命令,等待安装完成。
redis 可执行文件说明
安装结束后,我们移动到 redis/src 目录下,可以看到一些 redis 可执行文件:
ls | grep redis-
名称 | 作用 |
---|---|
redis-server | 启动 redis 服务器 |
redis-cli | redis 命令行客户端 |
redis-benchmark | redis 性能测试工具 |
redis-check-aof | AOF 文件修复工具 |
redis-check-dump | RDB 文件检查工具 |
redis-sentinel | Sentinel 服务器(2.8以后) |
三种启动方式比较
redis 启动有三种方式:
- 最简启动
- 动态参数启动
- 配置文件启动
最简启动
redis-server
该启动方式将使用 redis 的默认配置。
默认使用端口 6379 ,日志信息直接打印在屏幕上。
验证:
ps -ef | grep redis
netstat -antpl | grep redis
redis-cli -h ip -p port ping
redis命令行客户端 连接 redis 服务器进行验证
同样的,我们不加参数,使用最简启动时客户端还是会连接默认端口:
动态参数启动
我们指定端口号启动 redis:
redsi-server --port 6380
同样的还是在前台打印出了日志信息,并且端口号变为了指定的 6380。
我们进行验证,依旧可以进行操作:
redis-cli -p 6380
查看进程:
ps -ef | grep redis-server | grep -v grep
配置文件启动
在日常的开发使用中,我们一般都是采用配置启动的方式,因为涉及到很多配置参数,明显配置文件启动才更符合我们的需求。
步骤如下:
-
在 redis 目录下建立一个 config 目录,用来存放配置文件。将 redis.conf 拷贝到该目录。
mkdir config cp redis.conf conf/
-
移动到 conf/ 目录,我们将
redis.conf
文件中去掉注释和空格的参数部分打印出来,并重定向到一个新的文件redis-6381.conf
,然后删除redis.conf
。cat redis-6381.conf | grep -v "#" | grep -v "^$" -> redis-6382.conf rm redis.conf
-
打开
redis-6381.conf
文件,我们可以看到很多配置参数,这里暂时不用去管那么多参数,我们保留下面几个参数即可。daemonize yes # 守护进程 port 6381 # 端口号 dir "/opt/soft/redis/data" # 工作目录 logfile "6381.log" # 日志信息
返回 redis 目录,建立一个 data 目录。
-
使用下列命令启动 redis。
redis-server conf/redis-6381.conf
可以看到控制台什么都没返回,说明 redis 以守护进程的方式启动了。
-
查看进程是否存在。
ps -ef | grep redis-server | grep 6381
-
查看日志是否存在。
cat data/6381.log
-
关闭 redis。
此时 redis 作为守护进程,我们可以使用下列命令关闭:
kill -9 PID值
或
redis-cli -p port shutdown