介绍
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
应用
目前平台Redis具体使用到以下三个方面:
- 数据缓存,大并发下用于快读读取数据
- 消息队列,主要用于日志队列传输、异步任务
- session存储,主要用于平台各个项目的用户信息存储,适用于负载均衡集群环境
监控
目前平台使用Redis还是比较广了,下面与大家分享一款Redis监控实现,将会使用到以下组间grafana、prometheus以及redis_exporter。
由于grafana和prometheus之前安装配置过:Linux下打造全方位立体监控系统
下面主要说一下redis_exporter的安装配置。
下载:
wget https://github.com/oliver006/redis_exporter/releases/download/v0.13/redis_exporter-v0.13.linux-amd64.tar.gz
解压:
tar -xvf redis_exporter-v0.13.linux-amd64.tar.gz
下载grafana的redis的prometheus-redis_rev1.json模板:
wget https://grafana.com/api/dashboards/763/revisions/1/download
在grafana中导入json模板:
启动redis_exporter:
## 无密码
./redis_exporter redis//192.168.1.120:6379 &
## 有密码
redis_exporter -redis.addr 192.168.1.120:6379 -redis.password 123456
prometheus.yml加入redis节点,然后重启prometheus:
- job_name: redis
static_configs:
- targets: ['192.168.1.120:9121']
labels:
instance: redis120
配置成功UP状态
访问grafana,最终呈现: