Redis学习之环境准备
Redis介绍
Redis是一个开源的,高性能的,基于内存的,基于键值对的缓存与存储系统,属于NoSQL的一个分支,支持五种的数据结构,string
、hash
、list
、set
、sort set
Redis官网:Redis官网
Redis特性
- 高性能
- 支持丰富的数据结构
- 支持持久化
- 支持多种语言
- 主从复制
- 支持分片
Redis的主要应用场景
- 缓存
- 队列
- 发布订阅
- 自动过期
- 排名
- ...
Redis安装
Redis兼容大多数的POSIX系统(Linux、Unix、BSD等),所以,这些系统支持直接通过源码编译安装,也支持直接通过系统自带的工具如(apt、yum等)进行安装,但使用管理工具安装的,Redis的版本会比较老,所以,一般是直接下载源码进行编译安装
源码下载地址:下载地址
安装操作
tar xf redis-VERSION
make
如果执行make
命令过程中,提示找不到cc命令,先安装gcc,yum install gcc
如果提示找不到jemalloc
,可以安装对应的文件,也可以直接指定MAOOLC=libc
即可,具体为make MALLOC=libc
如果编译过程中提示缺少其他的问题,则安装对应的文件即可
编译之后,强烈建议执行以下make test
,测试下是否缺少其他运行环境,如果缺少,则先安装对应的文件,然后在make test
测试,直到基本没有问题。
\o/ All tests passed without errors!
然后执行make install
安装Redis
除了POSIX的Redis外,在Windows平台同样也有Redis,不过,Windows平台的Redis不是Redis官方开发的,所以,适合在学习以及测试的时候时候,不适合在生产环境下使用。下载地址:Windows版本Redis
Redis启动
在安装完Redis后,可以在/etc/local/bin
目录下找到Reids所提供的众多的命令,通过这些工具,可以进行Redis的启动以及Redis的性能测试、文件检查等
-rwxr-xr-x 1 root root 2451694 Sep 21 10:43 redis-benchmark
-rwxr-xr-x 1 root root 5775978 Sep 21 10:43 redis-check-aof
-rwxr-xr-x 1 root root 5775978 Sep 21 10:43 redis-check-rdb
-rwxr-xr-x 1 root root 2617775 Sep 21 10:43 redis-cli
lrwxrwxrwx 1 root root 12 Sep 21 10:43 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 5775978 Sep 21 10:43 redis-server
Redis的启动方式有两种,一种是直接启动(适合于开发环境),另一种是通过初始化脚本启动(适合于生产环境)
直接启动
直接启动只需要执行redis-server
即可
9209:C 21 Sep 10:49:51.416 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.2.10 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 9209
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
9209:M 21 Sep 10:49:51.417 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
9209:M 21 Sep 10:49:51.417 # Server started, Redis version 3.2.10
默认的启动端口是6379,也可以使用--port PORT
指定启动端口
启动脚本启动
通过初始化脚本启动,可以使得Redis能够跟随系统启动,配置方式如下
- 在源码目录的utils,有一个名为
redis_init_script
的初始化脚本,将该脚本复制到/etc/init.d/
目录中,并且命名为redis_PORT
,并将脚本中的REDISPORT
更改为对应的端口值 - 新建目录
/etc/redis
用于存放Redis的配置文件 - 新建目录
/var/redis/PORT/
用于存放Redis的持久化文件 - 将源码目录中的
redis.conf
复制到/etc/redis
,并且命名为PORT.conf
- 修改配置文件中的
daemonize no
为daemonize yes
- 通过
/etc/init.d/redis_PORT
脚本来启动redis
当然,上面的配置信息也可以通过修改脚本中的配置来指定不同的位置
# /etc/init.d/redis_PORT
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
输出内容如下
Starting Redis server...
13725:C 21 Sep 11:03:29.448 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
13725:C 21 Sep 11:03:29.448 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=13725, just started
13725:C 21 Sep 11:03:29.448 # Configuration loaded
Redis连接
Redis可以通过很多种方式来进行连接,如使用Java客户端(jedis)等,同时,在Redis中也提供了一个客户端工具redis-cli
,用于连接Redis,使用客户端的后面再展开,这里先使用自带的客户端工具
$ redis-cli -p 6379 -h localhost
# -p 指定端口
# -h 指定主机
连接之后出现如下提示即表示已连接
localhost:6379>
可以使用命令ping进行检测
localhost:6379> ping
PONG
Redis关闭
由于Redis的数据默认存储在内存中,虽然有持久化到磁盘,但是数据不同步,所以,强制停止Reids进程可能导致数据丢失,一般是通过redis-cli
向Redis发送shutdown
命令,或者使用kill
命令来关闭
localhost:6379> shutdown
# 或者
ps aux | grep redis # 查看redis进程
kill REDIS_PID
至此,Redis的基本环境我们就配置好了,接下来就是Redis的使用了。
总结
本小节主要是学习Redis的环境配置,主要包括Redis的简单介绍,Redis的下载、编译、安装、启动、关闭,接下来将进行Redis的操作学习。