redis介绍
Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。
和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化。
redis安装
下面介绍在Linux环境(centos6.9)下,Redis的安装与部署
1、首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版3.0.7即可。
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
2、通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作
[root@web local]# pwd
/usr/local
[root@web local]# tar zxvf redis-3.2.11
3、执行make 对Redis解压后文件进行编译
[root@web local]# cd redis-3.2.11
[root@web redis-3.0.7]# make
编译完成之后,可以看到解压文件redis-3.0.7 中会有对应的src、conf等文件夹,这和windows下安装解压的文件一样,大部分安装包都会有对应的类文件、配置文件和一些命令文件。
[root@web redis-3.0.7]# pwd
/usr/local/redis-3.0.7
[root@web redis-3.0.7]# ls
00-RELEASENOTES CONTRIBUTING deps Makefile README.md runtest runtest-sentinel src utils
BUGS COPYING INSTALL MANIFESTO redis.conf runtest-cluster sentinel.conf tests
4、编译成功后,进入src文件夹,执行make install进行Redis安装
5、安装完成,界面如下
[root@web src]# make install
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
redis部署
安装成功后,下面对Redis 进行部署
1、首先为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中
创建bin和redis.conf文件
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/ect
执行Linux文件移动命令:
mv /usr/local/redis-3.0.7/redis.conf /usr/local/redis/ect/
[root@web src]# pwd
/usr/local/redis-3.0.7/src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
我们看看/usr/local/redis/bin目录下的几个文件时什么
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程
2、执行Redis-server 命令,启动Redis 服务
[root@web bin]# ./redis-server
24405:C 31 Oct 08:30:31.103 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
24405:M 31 Oct 08:30:31.105 * Increased maximum number of open files to 10032 (it was originally set to 1024).
24405:M 31 Oct 08:30:31.105 # Creating Server TCP listening socket *:6379: bind: Address already in use
注意:这里直接执行Redis-server 启动的Redis服务,是在前台直接运行的(效果如上图),也就是说,执行完该命令后,如果Lunix关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且指定启动配置文件。
3、后台启动redis服务
首先编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)
再次启动redis服务,并指定启动服务配置文件
cd /usr/local/redis/bin
./redis-server /usr/local/redis/etc/redis.conf
4、服务端启动成功后,执行redis-cli启动Redis 客户端,查看端口号。
cd /usr/local/redis/bin
[root@web redis]# bin/redis-cli
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379>
Redis的配置
daemonize:如需要在后台运行,把该项的值改为yes
pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项
port:监听端口,默认为6379
timeout:设置客户端连接时的超时时间,单位为秒
loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
database:设置数据库的个数,默认使用的数据库是0
save:设置redis进行数据库镜像的频率
rdbcompression:在进行镜像备份时,是否进行压缩
dbfilename:镜像备份文件的文件名
dir:数据库镜像备份的文件放置的路径
slaveof:设置该数据库为其他数据库的从数据库
masterauth:当主数据库连接需要密码验证时,在这里设定
requirepass:设置客户端连接后进行任何其他指定前需要使用的密码
maxclients:限制同时连接的客户端数量
maxmemory:设置redis能够使用的最大内存
appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态
appendfsync:设置appendonly.aof文件进行同步的频率
vm_enabled:是否开启虚拟内存支持
vm_swap_file:设置虚拟内存的交换文件的路径
vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
vm_page_size:设置虚拟内存页的大小
vm_pages:设置交换文件的总的page数量
vm_max_thrrads:设置vm IO同时使用的线程数量
zabbix监控redis
zabbix官网的一些监控模板
https://share.zabbix.com/network_devices
这部分马上更新